我對此有一段時間...將IE瀏覽器加載到Perl的WWW :: Mechanize
我試圖連接到需要登錄的網站。我明顯可以直接進入頁面而不登錄,因爲IE有一個cookie來這樣做。
我正在研究一個腳本,該腳本將由除我以外的人員運行,所以我不想用我的登錄信息發送文件。理想情況下,其他人不必將這些信息也放入。
這裏是代碼的一小部分相關部分。我只是想從IE加載cookies並打印出來(因爲我假設他們在那裏,他們將被正確訪問)。
我已經搜索了幾個小時,甚至讀過人聲稱這會加載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";
我可以加載現有的cookies嗎?
是HTTP::Cookies::Microsoft
與IE9不兼容? (網站列出IE6和IE7,但自2002年以來未更新)。
我甚至沒有看到這個例子或其中的任何例子,它實際上載入了現有的cookies。如果這只是一個兼容性問題,那麼IE9有什麼選擇? (我必須堅持IE9,因爲它是該公司的支持瀏覽器)
謝謝!
您正在使用哪個版本的HTTP :: Cookies :: Microsoft?我發現6.00/6.01列出了IE 5和6,但最後更新於2011年。 – simbabque 2012-07-26 17:42:46
這將是一個不錯的問題。我顯然使用了6.00。我使用CPAN進行安裝。 – Sraaz 2012-07-26 18:03:17
我看過我的win7 cookie目錄,那裏沒有'index.dat'文件。只有一堆文本文件似乎每個都包含一個或多個Cookie。我很少使用IE,所以這可能是問題。雖然模塊的代碼看起來像只讀取.dat文件。 – simbabque 2012-07-26 19:09:11