require 'net/http'
require 'uri'
@url = 'http://foobar.com'
@query_string = {foo1: 'bar1', foo2: 'bar2'}
@post_data = Net::HTTP.post_form(URI.parse(@url), @query_string)
@request = # ? How can I get the request URL + query?
@response = @post_data.body
有谁知道如何获取您查询的实际网址,而不仅仅是响应?
即。我想将它存储在变量中以记录发送的内容:
答案 0 :(得分:0)
它没有从响应本身获得它(我认为没有办法用net / http做到这一点),但你可以通过这样做获得你想要的变量:
@request = URI.parse(@url).tap{|x|x.query=URI.encode_www_form(@query_string)}.to_s
# => "http://foobar.com?foo1=bar1&foo2=bar2"
答案 1 :(得分:0)
我相信你想看看Ruby的URI模块:
http://www.ruby-doc.org/stdlib-2.0/libdoc/uri/rdoc/URI.html
不确定,但你可能会得到类似的东西:
query_string = URI.encode_www_form(@query_string).to_s
record_of_uri = "#{@url}/?#{query_string}"
答案 2 :(得分:0)
注意到帖子请求没有在网址中发送它的参数,按照描述撰写@request
使用:
@request = URI.escape(@url + '?' + URI.encode_www_form(@query_string))