rails - 如何向URL发出GET请求

时间:2012-06-11 13:58:23

标签: ruby-on-rails ruby ruby-on-rails-3

你好,我希望这个问题相当简单,因为我对rails开发相对较新。我正在尝试向URL发出get请求。有关某些操作成功的示例,我需要使用我的参数向URL发出get请求

  

http://abc.com/xyz.php?to=<%user.number%>& sender = TESTHC& message =“MY MESSAGE”!

3 个答案:

答案 0 :(得分:1)

阅读此http://ruby-doc.org/stdlib-1.9.3/libdoc/net/http/rdoc/Net/HTTP.html,您将获得很好的推荐示例。

答案 1 :(得分:1)

这可能会有所帮助。有一个名为Faraday的宝石。它用于发出http请求。以下是一个示例用法:

建立连接

conn = Faraday.new(:url => 'http://sushi.com') do |builder|
  builder.use Faraday::Request::UrlEncoded  # convert request params as "www-form-urlencoded"
  builder.use Faraday::Response::Logger     # log the request to STDOUT
  builder.use Faraday::Adapter::NetHttp     # make http requests with Net::HTTP

  # or, use shortcuts:
  builder.request  :url_encoded
  builder.response :logger
  builder.adapter  :net_http
end

提出您的获取请求

conn.get '/nigiri', { :name => 'Maguro' } # GET /nigiri?name=Maguro

答案 2 :(得分:1)

你提出的问题与Rails或路由无关。如果您想要发出HTTP请求,无论是来自Rails控制器还是独立的Ruby程序,您都可以使用标准库,例如open-uri

举个例子:

require 'open-uri'
to, sender, message = 12345, 'foo', 'bar'
uri='http://abc.com/xyz.php?to=%d&sender=%s&message="%s"' % [to, sender, message]
open(uri).readlines