我是 Ruby 的新手。我试过查看在线文档,但没有找到任何有效的方法。我想在以下 HTTP 请求 bot get_response() 和 get() 中包含一个用户代理。有人可以指出我正确的方向吗?
# Preliminary check that Proggit is up
check = Net::HTTP.get_response(URI.parse(proggit_url))
if check.code != "200"
puts "Error contacting Proggit"
return
end
# Attempt to get the json
response = Net::HTTP.get(URI.parse(proggit_url))
if response.nil?
puts "Bad response when fetching Proggit json"
return
end
最佳答案
Amir F是正确的,您可能喜欢使用其他 HTTP 客户端,如 RestClient 或 Faraday,但如果您想坚持使用标准 Ruby 库,您可以像这样设置您的用户代理:
url = URI.parse(proggit_url)
req = Net::HTTP::Get.new(proggit_url)
req.add_field('User-Agent', 'My User Agent Dawg')
res = Net::HTTP.start(url.host, url.port) {|http| http.request(req) }
res.body
关于ruby - HTTP 请求中的用户代理,Ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11075954/