PERLのログイン-サブルーチン部分の修正について。

下記、スクリプトを修正して頂けないでしょうか?
最後の、open(OP,">Lonined_${ItemId}.html");部分で「こんにちは、 ID名 さん」と太文字で表示された状態でOKです。ゲストでは不可です。
なお、WWW-Mechanizeなど外部のモジュールは使わないで下さい。
但し、ディレクトリにそのまま置い使える場合(Windows XP環境)は問題ありません。
宜しくお願い致します。
use LWP::UserAgent;
use HTTP::Cookies;
use URI::Escape;
use HTTP::Request;
use HTTP::Headers;
my $ua = LWP::UserAgent->new;
$ua->cookie_jar( HTTP::Cookies->new(file => "${input_file}\.cookies",autosave => 1,));
$ua->agent('Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1');
$ua->timeout(150);
$ua->post( "http://login.yahoo.co.jp/config/login?",
[
".tries" => "1"
,".src" => "ym"
,".last" => ""
,"promo" => ""
,".intl" => "jp"
,".bypass" => ""
,".partner" => ""
,".u" => ""
,".v" => "0"
,".fUpdate" => "Y"
,"hasMsgr" => "0"
,".chkP" => "Y"
,"login" => $loginid
,"passwd" => $password
,".persistent" => "y"
]
);


my $res = $ua->get( "http://page.auctions.yahoo.co.jp/jp/auction/".$ItemId);
my $content = uri_unescape($res->content);
my $source = $res->content;
open(OP,">Lonined_${ItemId}.html");
print OP $source;
close(OP);

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/06/17 18:32:08
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:niwa-mikiho No.1

回答回数516ベストアンサー獲得回数40

一旦ログインページにアクセスして、.challenge を取得して送信してやらないと駄目です。

id:j4mika

質問通り、スクリプトを修正して頂けないでしょうか?

また、このコードを改変して、.challengeを取得してそのままログインしても無理でした。

ソースを見直したところ、javascriptもエミュレートしないと無理なようです。また、他にも何かあるようです。

2011/06/17 18:31:41

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません