我从网址收到了奇怪的结果: http://banner.prestigecasino.com/download/casino/client_update_urls.php
如果我使用浏览器 - 我会得到一个结果。
如果我使用perl LWP :: UserAgent 或 wget - 我会得到一个奇怪的输出。
wget http://banner.prestigecasino.com/download/casino/client_update_urls.php
<html><head><meta charset="utf-8"></head><body><script src="//d1a702rd0dylue.cloudfront.net/js/iealml-10-1/10800.js"></script><script>window.rbzns =
{}; rbzns.challdomain=".prestigecasino.com"; rbzns.ctrbg="wGc4uoPOw9Z43y/mCXjboruSCfOcUOcHsILlHf2shF+Z1ygLZnvECWQy1JIbHMvSkIFkkQq7CKSrHCO3soSA9AM6dCX
SwL4Dot2zXoNeKndXwgSeBfFTc/ACeunbVu2nBbvQeR1+cNZBVwqjExNn8C5+uj0gk7vCm6h6GaiWgJI=";rbzns.rbzreqid="ovh-whg-reblazer531343336323632393134a750dc75b5199
690"; winsocks(true);</script></body></html>
答案 0 :(得分:3)
这是一个机器人检测脚本。它在那里运行脚本来解开您下载的内容并验证您使用的是(javascript感知的)浏览器,而不是LWP。
这种情况相当普遍,特别是对于那些可以通过自动化脚本“播放”的网站而言,这些网站可以比您亲自更有效率。
诀窍是,如果你'运行'javascript,你可能会得到一些东西,可以渲染页面,或者将你重定向到一个,或者设置一个cookie或类似的东西。这意味着基本的(WGET / LWP / WWW :: Mechanize)工具不起作用。
请参阅:
Unexpected result from PHP request
有关这可能如何运作的更多细节。此特定 javascript似乎设置了一个名为rbzid
的Cookie,您可以从浏览器中检索该Cookie,然后在您的脚本中重复使用。