使用ruby机械化检测重定向

337

我正在使用机械化/ nokogiri宝石来解析一些随机页面。我在301/302重定向中遇到问题。这是代码片段:

agent = Mechanize.new
page = agent.get('http://example.com/page1')

mydomain.com上的测试服务器会将页面1重定向到具有301/302状态代码的页面2,因此我期望

page.code == "301"

相反,我总是得到page.code == "200"

我的要求是:

  • 我希望遵循重定向(默认机械化行为,很好)
  • 我希望能够检测到该页面实际上已被重定向

我知道可以在中看到page1 agent.history,但这并不可靠。我也想要重定向状态代码。

如何使用机械化实现此行为?

卫报

您可以将重定向保持关闭状态,而只需继续遵循位置标头即可:

agent.redirect_ok = false
page = agent.get 'http://www.google.com'
status_code = page.code

while page.code[/30[12]/]
  page = agent.get page.header['location']
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用ruby机械化检测重定向

来自分类Dev

使用while循环和使Ruby机械化的麻烦

来自分类Dev

机械化:无法重定向到最终目的地

来自分类Dev

机械化和nokogiri的Ruby脚本

来自分类Dev

Ruby机械化警报框

来自分类Dev

机械化Ruby:打印Cookie

来自分类Dev

使用Python机械化更改IP

来自分类Dev

使用python机械化上传文件

来自分类Dev

机械化错误

来自分类Dev

机械化错误

来自分类Dev

机械化刮

来自分类Dev

如何在Ruby中使用机械化填写登录表单?

来自分类Dev

Ruby机械化的名称字段为空白

来自分类Dev

太多的连接重置异常错误-在Ruby中机械化

来自分类Dev

Ruby机械化的名称字段为空白

来自分类Dev

用ruby机械化遍历html元素

来自分类Dev

Ruby,机械化。如何获取特定的<a>标签文本

来自分类Dev

为什么机械化无法登录网站ruby

来自分类Dev

Python机械化-登录

来自分类Dev

使用Python打开浏览器/机械化

来自分类Dev

使用机械化/ nokogiri单击按钮(非形式)

来自分类Dev

使用机械化测试页面的存在

来自分类Dev

使用机械化从HTML表中提取数据

来自分类Dev

使用机械化Python在textarea中输入数据

来自分类Dev

编译Web表单并使用机械化检索文件

来自分类Dev

使用机械化获取证书验证失败的错误

来自分类Dev

使用机械化发布抓取动态内容

来自分类Dev

如何使用函数内的机械化包登录网站?

来自分类Dev

使用Perl机械化刮除ASP网站