2016-09-20 90 views
1

我正在使用Rails 4.2.7。我有一个请求我设置像这样:如何找出请求对象中的所有请求标头?

2.3.0 :001 > url = 'http://www.mydomeina.com/results/browse.cfm?ID=4187141102&Gen=B&Begin=1&End=31&Max=31' 
=> "http://www.mydomeina.com/results/browse.cfm?ID=4187141102&Gen=B&Begin=1&End=31&Max=31" 
2.3.0 :002 > uri = URI(url) 
=> #<URI::HTTP http://www.mydomeina.com/results/browse.cfm?ID=4187141102&Gen=B&Begin=1&End=31&Max=31> 
2.3.0 :003 > req = Net::HTTP::Get.new uri 
=> #<Net::HTTP::Get GET> 
2.3.0 :004 > req["Referer"] = 'http://www.mydomeina.com/results/browse.cfm?ID=4187141102&Gen=B&Begin=1&End=31&Max=31' 
=> "http://www.mydomeina.com/results/browse.cfm?ID=4187141102&Gen=B&Begin=1&End=31&Max=31" 

我设置req["Referer"]作为设置一个头的一个例子。我的请求对象中可能还有其他标题。我怎么知道他们都是什么?这失败了:

2.3.0 :009 > req.keys 
NoMethodError: undefined method `keys' for #<Net::HTTP::Get GET> 
Did you mean? key? 

req.headers一样。我如何迭代我的请求对象来找出所有标题是什么?以不同的方式构建请求对象并不是我现在正在做的事情。

回答

0

尝试

req.each_key{|k| puts k} 

req.each{|k,v| puts "#{k} => #{v}"} 

看到从内控制台对象的方法,你总是可以做

req.methods - Ojbect.methods 
相关问题