1

我正在尝试创建一个脚本以使用 LWP(Perl 中的 WWW 库)登录 JSP 网站并执行多个操作。该网站有一些在登录后呈现的 Ajax 元素(小部件)。我可以使用此代码获取框架,但是 Ajax 小部件无法加载。

#!/usr/bin/perl
use strict;
use warnings;
use LWP::Simple;
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use HTTP::Cookies;

my $ua = LWP::UserAgent->new;
$ua->agent('Mozilla/8.0');
$ua->cookie_jar(
        HTTP::Cookies->new(
                file => 'mycookies.txt',
                autosave => 1
                )
        );
push @{ $ua->requests_redirectable } , 'POST';
$ua->max_redirect('3');
my $user="USER";
my $psw="PASSWORD";
my $req = POST 'http://somesite.../?cmd=login', ['userid'
 => $user , 'pwd' => $psw];
my $res = $ua->request($req);
if ($res->is_success){
print $res->content;}else { print $res->status_line . "\n" . $res->content;}
exit 0;

我尝试了 CURL,但在 Ajax 部分也失败了。任何人都可以帮忙吗?是否有任何工具可以做到这一点?[我被告知我需要创建一个虚拟浏览器,但除了 curl 和 lwp 我不知道如何]

4

1 回答 1

1

您需要用于 AJAX 的 JavaScript 引擎,例如浏览器。见WWW::Mechanize::Firefox

于 2012-07-02T21:02:38.167 回答