我想要 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 或元标记重定向吗?
最佳答案
如果我说得对,你想知道某个链接最终通向哪里,如果最终的网址与最初实际点击的网址不同?
如果是这样,我认为最好的方法是让浏览器完成其工作,然后再查看它的结果。这样你就可以得到浏览器的“正常”行为,而不是某些库的行为。
使用(隐藏的)iframe 将 URL 加载到其中。然后等待 window.load 事件或其他事件,然后查询文档位置。我现在没有尝试,但对我来说听起来可行......
关于php 可编写脚本的网络浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15018067/