【发布时间】:2011-01-13 17:37:48
【问题描述】:
我有一个 Perl 脚本,它使用 LWP::UserAgent 下载一个网页,然后使用正则表达式处理该网页。问题是网页的常规 HTML 部分没有返回到 LWP::UserAgent,因为该站点识别出浏览器没有安装 Flash,而是返回 HTML 提示我们下载 Flash 而不是下载相应的 HTML我们需要解析。
我怎样才能让 LWP::UserAgent 看起来已经安装了 flash 到我们请求页面的 Web 服务器?我正在使用以下代码来初始化 LWP::UserAgent:
use LWP::UserAgent;
my $ua = LWP::UserAgent->new(cookie_jar => { },requests_redirectable => [ ]);
$ua->agent('Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:9.9.9.9) Gecko/20079999 Firefox/2.0.0.1');
$ua->timeout(10);
提前感谢您的帮助!
【问题讨论】:
-
“下载一个网页,然后使用正则表达式进行处理”。哦,伙计。
-
查看此页面:stackoverflow.com/questions/2124560/… 我在哪里回答这个问题。简而言之,如果检测是在 header Accept/User-Agent 中完成的,这很简单。如果检测是使用 flash 或 javascript 完成的,则可能会更加困难。无论哪种方式,您都需要知道要发送到服务器的内容以及返回的内容。
标签: flash perl lwp-useragent