我正在尝试移植一些使用旧 Perl 模块编写的旧 Web 抓取脚本,以便仅使用 Mojolicious 工作。
使用 Mojo 编写了一些基本脚本,但对使用安全登录站点的经过身份验证的登录以及如何使用Mojo::UserAgent
脚本进行处理感到困惑。不幸的是,我在文档中看到的唯一示例是没有表单的基本身份验证。
我试图转换为使用 Mojo:UserAgent 的 Perl 脚本如下:
#!/usr/bin/perl
use LWP;
use LWP::Simple;
use LWP::Debug qw(+);
use LWP::Protocol::https;
use WWW::Mechanize;
use HTTP::Cookies;
# login first before navigating to pages
# Create our automated browser and set up to handle cookies
my $agent = WWW::Mechanize->new();
$agent->cookie_jar(HTTP::Cookies->new());
$agent->agent_alias( 'Windows IE 6' ); #tell the website who we are (old!)
# get login page
$agent->get("https://reg.mysite.com")
$agent->success or die $agent->response->status_line;
# complete the user name and password form
$agent->form_number (1);
$agent->field (username => "user1");
$agent->field (password => "pass1");
$agent->click();
#try to get member's only content page from main site on basis we are now "logged in"
$agent->get("http://www.mysite.com/memberpagesonly1");
$agent->success or die $agent->response->status_line;
$member_page = $agent->content();
print "$member_page\n";
所以上面的工作正常。如何转换为在 Mojolicious 中做同样的工作?