如何创建 HTTPGET
Ruby 中带参数的请求?
这很容易做到,当你POST
ing:
require 'net/http'
require 'uri'
HTTP.post_form URI.parse('http://www.example.com/search.cgi'),
{ "q" => "ruby", "max" => "50" }
但我看不出有什么办法可以过去GET
参数作为哈希使用'net/http'
.
从版本 1.9.2 开始(我认为),您实际上可以将参数作为哈希传递给URI::encode_www_form http://www.ruby-doc.org/stdlib-1.9.2/libdoc/uri/rdoc/URI.html#method-c-encode_www_form像这样的方法:
require 'uri'
uri = URI.parse('http://www.example.com/search.cgi')
params = { :q => "ruby", :max => "50" }
# Add params to URI
uri.query = URI.encode_www_form( params )
然后根据您的喜好获取结果
require 'open-uri'
puts uri.open.read
or
require 'net/http'
puts Net::HTTP.get(uri)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)