我所做的只是加载 mechanize,并获得一个返回 404 的页面。但这正是我想要的。404 页面有很多我想在我的示例中使用的 html。
a = mechanize.new
a.get('http://www.youtube.com/watch?v=e4g8jriw4rg')
a.page
=> nil
我似乎无法找到有关此的任何进一步信息。
我所做的只是加载 mechanize,并获得一个返回 404 的页面。但这正是我想要的。404 页面有很多我想在我的示例中使用的 html。
a = mechanize.new
a.get('http://www.youtube.com/watch?v=e4g8jriw4rg')
a.page
=> nil
我似乎无法找到有关此的任何进一步信息。
您需要处理异常:
begin
page = a.get 'http://www.youtube.com/watch?v=e4g8jriw4rg'
rescue Mechanize::ResponseCodeError => e
puts e.response_code # the status code as a string, e.g. "404"
page = e.page
end
puts page.title
写答案时可能是这种情况(代码大约在 5 年前更改),但现在不再如此。您现在可以allowed_error_codes
在代理实例上设置整数或字符串数组,并将值设置为您希望无异常处理的 HTTP 响应代码。文档(在撰写本文时)指出“将在不检查此列表的情况下处理 2xx、3xx 和 401 状态代码。”