2017-04-18 84 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。 –