gpt4 book ai didi

ruby - 使用 ruby​​ mechanize 检测重定向

转载 作者:数据小太阳 更新时间:2023-10-29 06:38:56 26 4
gpt4 key购买 nike

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

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

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

page.code == "301"

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

我的要求是:

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

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

我怎样才能通过 Mechanize 实现这种行为?

最佳答案

您可以关闭重定向并继续关注位置 header :

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

关于ruby - 使用 ruby​​ mechanize 检测重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17502993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com