使用 mecahnize 2.7.3 和 ruby 2.3.0dev 运行此代码:
require 'mechanize'
agent = Mechanize.new
agent.keep_alive = false
agent.open_timeout = 2
agent.read_timeout = 2
agent.ignore_bad_chunking = true
agent.gzip_enabled = false
url = 'http:%5C%5Cwww.scouts.org.uk'
agent.head(url)
给我这个 NoMethodError:
~/.rvm/gems/ruby-head/gems/mechanize-2.7.3/lib/mechanize/http/agent.rb:648:in resolve': undefined
methodlength' for nil:NilClass (NoMethodError)
from ~/.rvm/gems/ruby-head/gems/mechanize-2.7.3/lib/mechanize/http/agent.rb:223:in `fetch'
from ~/.rvm/gems/ruby-head/gems/mechanize-2.7.3/lib/mechanize.rb:459:in `head
这是 Mechanize 中的错误还是我做错了什么?如果是这样,如何修复?
编辑:网址显然是旧的,但我从文件中读取了很多网址,其中一些可能是错误的。
EDIT2:假设我有一个这样的文件 http://pastie.org/9934756
我需要获取所有正确网址的头部并忽略其他网址
最佳答案
你写错了网址,试试这个:url = 'http://scouts.org.uk'
关于ruby - 来自 Mechanize 的 NoMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28429204/