めくるめくPerlモジュールの世界・・・というわけで。
要はwwwのロボットに近い物にゃんだけど、フォームに何か入れてPOST〜みたいにゃ操作がとっても楽。
use WWW::Mechanize;
my $agent = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
my $mech = WWW::Mechanize->new(agent=>$agent);
$mech->get( $url );
$mech->set_visible( $user, $pass ) ;
$mech->click( "Login_button" , 0 , 0 );
$mech->submit_form(form_name => "form2",fields=>{"mail" => "neko@neko.com"});
my $html = $mech->content;
$html =~ s/$str/$str\n<input type="hidden" name="button.x" value="0"\/>/;
$mech->update_html( $html );
$mech->submit_form(form_name => "form3",fields=>{"comment" => "nekoneko-"});
$mech->back();
$mech->reload();
こんにゃ感じでセッション維持しつつ、既存フォームに何か入れて次の画面へ進めるし、js系でPOST内容増やしてる場合には、元のhtmlを任意に書き換えて解釈し直せる。上には出てにゃいけど、リンクの一覧から正規表現かけて絞り込んだりとか、お手軽機能が揃ってる。
何とにゃれば下位のLWPに降りて、任意のヘッダでリクエストできるし、得られたhtmlはParseして必要にゃ部位だけ抜き取ればよい。