2

我想要 php 中的 url 重定向跟踪器函数,例如http://www.wheregoes.com/

我想检测四种重定向:

  • Http 301 重定向
  • Http 302 重定向
  • 元标记重定向
  • javascript重定向

如果我使用 curl,我可以轻松检测到 301、302 重定向,但很难检测到其他两个重定向。

所以我想要一个可编写脚本的网络浏览器,我将使用如下库:

$browser = Browser::createBrowser('chrome');
$delay = 10; // (This is a important parameter for detecting javascript or meta tag redirection).

$browser->load($url, $delay, function onLoadComplete($arr_track_url){
    print_r($arr_track_url);
});

我搜索并遇到了一些库,例如http://www.simpletest.org/en/browser_documentation.html,但它们不支持 javascript 和元标记重定向。

是否有任何 php 可编写脚本的浏览器?或者我可以轻松检测到 javascript 或元标记重定向吗?

4

1 回答 1

2

如果我做对了,您想知道某个链接最终指向的位置,如果该最终 url 与最初实际点击的 url 不同?

如果是这样,我认为最好的方法是让浏览器完成它的工作,然后在它出现的地方找到它。通过这种方式,您可以获得浏览器的“正常”行为,而不是某些库的行为。

使用(隐藏的)iframe 将网址加载到其中。然后等待 window.load 事件或其他事件,然后查询文档位置。我现在没有尝试过,但对我来说听起来可行......

于 2013-02-22T06:30:13.637 回答