perl LWP::UserAgent で、cookie を保存するサンプル

LWP::UserAgentを使って FSWiki(FreeStyleWiki)にログインするサンプルです。
Cookieをファイルに保存しているので、二回目以降は、loginせずにadminページに飛ぶことも可能です。

環境

  • CentOS 5.2
  • Perl 5.8.8
  • FSWiki(FreeStyleWiki) 3.6.2

サンプルプログラム

 #!/usr/bin/perl
 
 use warnings;
 use strict;
 
 use Encode;
 use LWP::UserAgent;
 use HTTP::Request::Common;
 
 my $user='admin';
 my $pass='ppaasswwdd573';
 my $cookie_file="cookies.txt";
 
 my $ua = LWP::UserAgent->new;
 $ua->cookie_jar({file =>$cookie_file, autosave=>1 });
 $ua->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; ja)");
 
 # fswiki Login
 my $req = POST( "http://wikiserver.example.jp/fswiki/wiki.cgi",
        [ "id" => $user, "pass" => $pass, "login" => '%A5%ED%A5%B0%A5%A4%A5%F3', "action" => "LOGIN" ]);
 my $res = $ua->request($req);
 print "--------------------------------------------------\n";
 print encode('utf-8', decode('euc-jp',$res->{_content}));
 print "--------------------------------------------------\n";
 
 # fswiki admin page
 $res=$ua->get('http://wikiserver.example.jp/fswiki/wiki.cgi?action=LOGIN');
 print "--------------------------------------------------\n";
 print encode('utf-8', decode('euc-jp',$res->{_content}));
 print "--------------------------------------------------\n";
 
 exit 0;

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-11-20 (木) 10:08:49 (3527d)