我使用WWW :: Mechanize :: Shell來測試東西。 由於我沒有設法登錄我想颳去的網站,我想我會使用瀏覽器cookie(chrome或firefox)用於'cookie'命令的特定網站WWW :: Mechanize :: Shell有。WWW ::機械化和餅乾
問題是,Cookies通常存儲在一個單獨的文件中,這是不好的,如何獲得只有這個特定網站的cookie?
謝謝,
我使用WWW :: Mechanize :: Shell來測試東西。 由於我沒有設法登錄我想颳去的網站,我想我會使用瀏覽器cookie(chrome或firefox)用於'cookie'命令的特定網站WWW :: Mechanize :: Shell有。WWW ::機械化和餅乾
問題是,Cookies通常存儲在一個單獨的文件中,這是不好的,如何獲得只有這個特定網站的cookie?
謝謝,
爲什麼不把cookie存儲在一個文件好?
由於WWW::Mechanize構建於LWP::UserAgent之上,您可以像處理LWP::UserAgent一樣處理cookies。您可以使Cookie jar成爲文件或內存中的散列。
如果你不想保存在一個文件中的Cookie,使用空哈希引用,當你構建機甲對象:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new(cookie_jar => {});
如果你想使用一個新的文件,做一個新HTTP::Cookies對象:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new(
cookie_jar => HTTP::Cookies->new(file => "$ENV{HOME}/.cookies.txt")
);
如果要加載瀏覽器特定的Cookie文件,請使用正確的模塊吧:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new(
cookie_jar => HTTP::Cookies::Netscape->new(file => $filename)
);
如果你不想要的cookies可言,用民主基金明確:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new(cookie_jar => undef);
所有這一切都是在文檔中。
HTTP::Cookies::Netscape
,HTTP::Cookies::Microsoft
加載您現有的瀏覽器cookies。
這是一個很好的解釋,並且非常有幫助。 但是,實際上我想要的是加載我已經擁有的cookie,cookies位於Firefox的cookies文件中(不知道它在哪裏......)。 這可能嗎? – snoofkin 2010-08-28 22:28:16
那麼,使用其中一個HTTP :: Cookie :: *模塊來處理您想要加載的cookie文件的類型。 – 2010-08-30 21:59:28