这里有一个超过四年的问题的完全相同的副本
鉴于它已经这么久了,我现在的问题是,这个答案仍然准确吗?现在有没有更好的方法来做到这一点?
你做这样的事情。在控制器中编写一个函数,如下所示:
require 'net/http'
require 'net/https'
class custom_class
def get_api_call(args_hash)
uri = URI.parse("sample_api_url")
uri.query = URI.encode_www_form(what_args_you_want_to_send)
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(uri.request_uri)
http.request(request).body
end
private
def what_args_you_want_to_send
{
"varname1" => var1,
"varname2" => var2,
"varname3" => var3,
"varname4" => var4
}
end
该函数的结果将有来自您发送请求的服务器的答案