2013-10-10 43 views

回答

7

你做这样的事情。写在你的控制器的功能是这样的:

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 

该函数的结果会从你的服务器的答案发送请求到

+0

谢谢,这真的很有帮助。我猜测,将verify_mode设置为VERIFY_NONE只是使得请求不检查谁签署了该网站的SSL证书? –

+0

在SSL/TLS会话开始时为服务器设置认证验证的标志。我在这里找到了这个(http://www.ruby-doc.org/stdlib-1.9.3/libdoc/net/http/rdoc/Net/HTTP.html)。 – Aravind

相关问题