ここ(
http://kage.monazilla.org/system_DOLIB100.html)を参考に
●ログインするプログラムを書いてみました。
しかし、認証に失敗して、以下のセッションIDが返ってきます。
SESSION-ID=ERROR:ppppppppppp
何かアドバイスお願いします。
※IDとパスワードはここではダミーのものとしていますが
実際には自分自身のIDとパスワードを使用しています。
use strict;
use Socket;
use FileHandle;
use LWP::UserAgent;
use
HTTP::Request::Common qw(POST);
my $id='id';
my $pw='password';
my $ua = LWP::UserAgent->new;
$ua->agent('DOLIB/1.00');
$ua->default_header('X-2ch-UA' => 'Hoge/1.00');
my $url='
https://2chv.tora3.net/futen.cgi';
my %form = ('ID'=>$id,'PW'=>$pw);
my $req = POST($url,[%form]);
さっきのレスがわかりにくいかもしれないので…
futen.cgiに渡すパラメータは通常
[email protected]&PASS=password
って風になるんだけど、これが
ID=mail%40domain.jp&PASS=password
という風に渡すと、なぜか認証に失敗する。
本来は後者でも%40が@にデコードされた結果、認証が成功していないといけないのだが…
あ、
>>100のコードでおかしいところ発見。
my $req = POST($url,[%form]);
↓
my $req = POST($url,\%form);