您好,我希望这个问题是一个相当简单的问题,因为我对 Rails 开发比较陌生。我正在尝试向 URL 发出 get 请求。例如,在某些操作上成功时,我需要使用我的参数向 URL 发出 get 请求
http://abc.com/xyz.php?to= <%user.number%>&sender=TESTHC&message="MY MESSAGE"!
您好,我希望这个问题是一个相当简单的问题,因为我对 Rails 开发比较陌生。我正在尝试向 URL 发出 get 请求。例如,在某些操作上成功时,我需要使用我的参数向 URL 发出 get 请求
http://abc.com/xyz.php?to= <%user.number%>&sender=TESTHC&message="MY MESSAGE"!
这可能会有所帮助。有一种宝石叫法拉第。它用于发出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
阅读这个http://ruby-doc.org/stdlib-1.9.3/libdoc/net/http/rdoc/Net/HTTP.html你会得到很好的例子来参考。
您提出的问题与 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