私はこれでかなりの時間を過ごしています...
ログインが必要なWebサイトに接続しようとしています。IEにはログインするためのCookieがあるため、ログインせずにページに直接移動できることは明らかです。
私は自分以外の人が実行するスクリプトを作成しているので、ログイン情報を含むファイルを送信したくありません。理想的には、他の人もその情報を入力する必要はありません。
これがコードの小さくて関連性のある部分です。IEからCookieを読み込んで印刷したいだけです(Cookieがそこに入ると、正しくアクセスされると思います)。
私は何時間も検索し、これがクッキーをロードすると主張する人々を読んだことさえあります。現在Cookieを保存できるようになっていますが、既存のCookieをコンピューターにロードできません。
#!/usr/bin/perl -w
use strict;
use WWW::Mechanize;
use HTTP::Cookies::Microsoft;
use Win32::TieRegistry(Delimiter => "/");
my $cookies_dir = $Registry-> {"CUser/Software/Microsoft/Windows/CurrentVersion/Explorer/Shell Folders/Cookies"};
my $cookie_jar = HTTP::Cookies::Microsoft->new(file => "$cookies_dir\\index.dat",'delayload'=>0,);
my $mech = WWW::Mechanize->new(cookie_jar => $cookie_jar);
print "Set Cookie Jar?\n", $cookie_jar->as_string, "\n";
print "Set Cookie Jar?\n", $mech->cookie_jar->as_string, "\n";
既存のCookieをロードできますか?
HTTP::Cookies::Microsoft
IE9と互換性がありませんか?(WebサイトにはIE6とIE7がリストされていますが、2002年以降更新されていません)。
この例やどの例でも、実際に既存のCookieをロードする場所すらわかりません。互換性の問題だけの場合、IE9にはどのようなオプションがありますか?(この会社のサポートブラウザなので、IE9にこだわる必要があります)
ありがとう!