Mojolicious のみを使用して動作するように、古い Perl モジュールを使用して記述された古い Web スクレイピング スクリプトをいくつか移植しようとしています。
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 で同じ仕事をするように変換するにはどうすればよいですか?