【问题标题】:Detect redirect to specific IP with Mechanize Ruby使用 Mechanize Ruby 检测到特定 IP 的重定向
【发布时间】:2014-10-25 12:31:52
【问题描述】:

我正在使用 Ruby Mechanize Gem 来获取和解析网站,我需要检测到特定 IP 的重定向。这是我的基本设置:

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

现在,很明显如何检测重定向:

is_redirect? = page.code[/30[12]/].present?

但我想更进一步,检查它重定向到的域/IP;所以类似于(伪代码):

if page.resolves_to(55.55.55.55)...

对如何实现这一点有什么想法吗?

【问题讨论】:

  • @D-side:这个问题不是寻找 IP,而是通过 IP 检查重定向的最终目的地。
  • 我确实设法检测到 mail.google.com 的重定向 IP,但它以代码 200<meta> 重定向响应。我开始写一个答案,但后来我想你可能会得到不同的重定向。是否有您期望的重定向的实时示例?

标签: ruby-on-rails ruby redirect mechanize


【解决方案1】:

重定向的网址在Page#uri:

require 'socket'
IPSocket::getaddress(page.uri.host)

【讨论】:

    猜你喜欢
    • 2013-07-04
    • 1970-01-01
    • 1970-01-01
    • 2017-09-22
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    • 2020-05-28
    • 2021-07-21
    相关资源
    最近更新 更多