我如何找出我的请求 object 中的所有请求 headers 是什么?

How do I figure out what all the request headers in my request object are?

我正在使用 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"]为例,设置了一个header。我的请求object中可能还有其他header。我如何弄清楚它们都是什么?这失败了:

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

req.headers 一样。我如何遍历我的请求 object 以找出所有 header 是什么?以与我现在正在做的不同的方式构建请求 object 不是一个选项。

尝试

 req.each_key{|k| puts k}

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

要从控制台内部查看对象的方法,您总是可以这样做

req.methods - Ojbect.methods