Ruby 中的参数化获取请求? [英] Parametrized get request in Ruby?

查看:19
本文介绍了Ruby 中的参数化获取请求?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在 Ruby 中使用参数发出 HTTP GET 请求?

How do I make an HTTP GET request with parameters in Ruby?

POST 很容易做到:

  require 'net/http'
  require 'uri'

  HTTP.post_form URI.parse('http://www.example.com/search.cgi'),
                 { "q" => "ruby", "max" => "50" }

但我认为无法使用 'net/http'GET 参数作为散列传递.

But I see no way of passing GET parameters as a hash using 'net/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)

这篇关于Ruby 中的参数化获取请求?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆