HTTParty请求返回404代码

时间:2017-02-11 20:08:14

标签: ruby httparty pry

我使用以下代码向HTTParty Ruby gem发送HTTP请求:

require 'httparty'
require 'pry'

page = HTTParty.get('http://www.cubuffs.com/')

binding.pry

您可以验证该网址是否有效。在使用Pry探索结果时,我得到以下结果:

[1] pry(main)> page
=> nil
[2] pry(main)> page.code
=> 404
[3] pry(main)> page.response
=> #<Net::HTTPNotFound 404 Not Found readbody=true>

我非常确定我的代码没有任何问题,因为我可以替换其他网址并按预期工作。出于某种原因,来自此域的URL返回404代码。任何想法在这里有什么问题以及如何解决它?

1 个答案:

答案 0 :(得分:3)

该网站的所有者正在从浏览器中检查用户代理,并且不喜欢HTTParty正在使用的用户代理。您可以通过在浏览器中添加用户代理标头来获取该页面,这是Chrome中的标题:

  

Mozilla / 5.0(Macintosh; Intel Mac OS X 10_12_3)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 56.0.2924.87 Safari / 537.36

修改您的代码,如下所示:

malloc