0
在问这个问题之前,我一直在寻找解决方案,但不幸的是他们都没有取得好的结果。 我得到一个OpenURI::HTTPError: 405 Not Allowed
访问这个特定的URL时:解析网页产量405不允许
require 'open-uri'
doc = Nokogiri::HTML(open("http://streeteasy.com"))
#=> OpenURI::HTTPError: 405 Not Allowed
from /Users/cyrusghazanfar/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/open-uri.rb:358:in `open_http'
也试过:
$ curl -I http://streeteasy.com
其返回:
HTTP/1.1 405 Not Allowed
Date: Fri, 22 Sep 2017 20:03:59 GMT
Content-Type: text/html
Connection: keep-alive
Server: nginx
X-DZ: 24.193.31.96
Vary: Accept-Encoding
X-DZ: 127.0.0.1
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Cache-Control: private, no-cache, no-store, must-revalidate
Edge-Control: no-store, bypass-cache
Surrogate-Control: no-store, bypass-cache
谢谢你。那是我的直觉。你知道如何用nokogiri指定用户代理吗? – Cyzanfar
不是真的,但它应该像添加一个正常的标题,[这个链接](https://stackoverflow.com/questions/12205221/python-mechanize-how-to-add-a-header-on-a-single - 打开电话)可以帮助你 – eLRuLL
我添加了一个用户代理我的请求,它的工作除了网站阻止我,因为它认为我是一个机器人 – Cyzanfar