2016-09-20 2 views
1

레일 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"]을 설정 난과 같이 설정 요청을해야합니다. 내 요청 객체에는 다른 헤더가있을 수 있습니다. 그들 모두가 무엇인지 어떻게 알 수 있습니까? 이것은 실패 req.headers를 수행

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

한다. 어떻게 모든 헤더가 무엇인지 파악하기 위해 요청 객체를 반복 할 수 있습니까? 요청 객체를 다른 방식으로 구성하는 옵션은 현재 내가하고있는 일이 아닙니다.

답변

0

내부 콘솔에서 개체에 대한 방법을 볼 수

req.each_key{|k| puts k} 

또는

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

을하려고 당신은 항상

req.methods - Ojbect.methods 
을 수행 할 수 있습니다
관련 문제