2017-04-18 79 views
-3

我該如何在Ruby下使用modiefied頭進行HTTP請求?如何在帶修改標題的Ruby下創建HTTP請求?

我想添加「PublicKey」和「Accept」等屬性。

我想添加一個新的身份驗證標題值,如「基本」。

我的方法:

uri = URI('https://www.blablubbxxx0.com/') 
Net::HTTP.get(uri) 
. 
. 
. 
. 
. 
. 
. 
. 
+1

https://docs.ruby-lang.org/en/2.0.0/Net/HTTP.html# class-Net :: HTTP-label-Setting +頭文件 – CBroe

+0

感謝您的回答,但我不明白,我如何使用這些信息 –

+0

爲什麼不呢?究竟是什麼問題? – CBroe

回答

0

宣告請求這樣代替:Net::HTTP.get(uri), 使用.new

所以你的代碼的改寫是:

uri = URI.parse('https://www.blablubbxxx0.com/') 
req = Net::HTTP::Get.new(uri.path) 
req.add_field("HeaderName", "HeaderValue") # Adding a header 
req['If-Modified-Since'] = file.mtime.rfc2822 # Setting a header 


res = Net::HTTP.new(url.host, url.port).start do |http| 
    http.request(req) 
end 

代碼從https://dzone.com/articles/send-custom-headers-ruby

+0

感謝您的幫助。我收到一條消息:「通過對等方重置連接」。我該如何解決這些問題? –

+0

請參閱[這裏](http://stackoverflow.com/questions/1434451/what-does-connection-reset-by-peer-mean)閱讀更多關於通過對等錯誤重置連接。可能是服務器只接受某些標題並拒絕您的連接。另外,請確保在您嘗試連接的目標上打開了端口80/443。 –