How to set a custom user agent in ruby

心已入冬 提交于 2019-12-18 12:51:09

问题


I've a task to test different user agents on a URL through automation. I'm using ruby to code, and I've been trying to set an user agent using the following method, but it doesn't seem to recognize the user agent.

@http = Net::HTTP.new(URL)
response = @http.request_get(URL, {'User-Agent' => useragent})  

Is there any other way to do this, or what am I doing wrong?


回答1:


http = Net::HTTP.new("your.site.com", 80)
req = Net::HTTP::Get.new("/path/to/the/page.html", {'User-Agent' => 'your_agent'})
response = http.request(req)
puts response.body

Works great for me.




回答2:


Also another that work for me :

require 'open-uri'
html = open('http://your.site.com/the/page.html', 'User-Agent' => 'Ruby').read
puts html

Hope this will help you.




回答3:


The included Net::HTTPHeader has the initialize_http_header method:

@http = Net::HTTP.new(URL)
@http.initialize_http_header({'User-Agent' => useragent})
response = @http.request_get(URL)  

HTH



来源:https://stackoverflow.com/questions/5798037/how-to-set-a-custom-user-agent-in-ruby

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!