如何使用Ruby中的参数发出HTTP GET
请求?
当你POST
岁时,这很容易做到:
require 'net/http'
require 'uri'
HTTP.post_form URI.parse('http://www.example.com/search.cgi'),
{ "q" => "ruby", "max" => "50" }
但我看不到用'net/http'
作为散列传递GET
个参数的方法.
如何使用Ruby中的参数发出HTTP GET
请求?
当你POST
岁时,这很容易做到:
require 'net/http'
require 'uri'
HTTP.post_form URI.parse('http://www.example.com/search.cgi'),
{ "q" => "ruby", "max" => "50" }
但我看不到用'net/http'
作为散列传递GET
个参数的方法.
使用以下方法:
require 'net/http'
require 'cgi'
def http_get(domain,path,params)
return Net::HTTP.get(domain, "#{path}?".concat(params.collect { |k,v| "#{k}=#{CGI::escape(v.to_s)}" }.join('&'))) if not params.nil?
return Net::HTTP.get(domain, path)
end
params = {:q => "ruby", :max => 50}
print http_get("www.example.com", "/search.cgi", params)