Rubyでパラメータを使用してHTTP GET
リクエストを作成するにはどうすればよいですか?Rubyでパラメータの取得リクエストがありますか?
require 'net/http'
require 'uri'
HTTP.post_form URI.parse('http://www.example.com/search.cgi'),
{ "q" => "ruby", "max" => "50" }
しかし、私は'net/http'
を使用してハッシュとしてGET
パラメータを渡すのない方法を見ていない:あなたはPOST
INGいるとき
それは何をするのは簡単です。それが最初の要求、オブジェクトまたはHTTPオブジェクトの仕事だろうと私はそれが第二のインスタンス化せずに動作するように期待される
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)
これを行うにはもっと抽象的な方法が必要ですか? –
私はそこにNet :: HTTP ...があるとは思わないが、3つのパラメータ、ドメイン、パス、およびパラメータを取り、結果を返すメソッドを書くことができるので、実行する必要はありません。毎回手動で収集してください。 –
@Horace Loeb これを要約する要点はありません。抽象化が簡単なので、コードを保存することはありません。 – Henry