2012-03-05 9 views
0

シンプルperlのコードは次のとおりです。PerlでWWW :: Scripterモジュールを使って明示的にクッキーをクリアするには?

 use WWW::Scripter; 
       
     ... 
         
     my $w = WWW::Scripter->new('agent' => 'myAgent'); 
     $w->use_plugin('JavaScript'); 
       
     ... 
       
     $w->get($url); 
       
     ### WWW::Mechanize automatic cookies = good for now 
       
     $w->add_header(Referer => $url); 
     $url = $w->document->getElementsByTagName('a')->[0]->href; 
     $w->get($url); 
       
     ... 
       
     ### WWW::Mechanize automatic cookies = NOT good for now 
     ### ! need to clear cookie jar here ! 
       
     ... 
       
     $w->add_header(Referer => $url); 
     $url = $w->document->getElementsByTagName('a')->[0]->href; 
     $w->get($url); 

WWW::Mechanizeの良い機能の一つは、いくつかの点で良いです自動クッキー、ですが、時々クッキーをクリアする必要があります。どうやって?

答えて

2

HTTP::Cookiesオブジェクトを返すcookie_jarWWW::Mechanize方法。関連する方法は、実際にはclearと呼ばれています。

+0

それは '$ w-> cookie_jar-> clear'か' $ w-> cookie_jar() - > clear'でしょうか? –

+0

どちらも有効です。関数/メソッドが引数を取らないときは、空のかっこは省略できます。 [スタイル](http://p3rl.org/style)を選択し、一貫して適用します。不明な場合は、スタイルガイド、他の人のコードや書籍などにご相談ください。 [PBP](http://oreilly.com/catalog/9780596001735)。 – daxim

0

Looking at the documentation、あなたは単にクッキーのjar属性をリセットできませんか?

$w->cookie_jar({}); 
+0

わかりませんが、あなたのコードではクッキーをまったく無効にしませんか?私は '$ w-> cookie_jar-> clear'または' $ w-> cookie_jar() - > clear'についてもっと考えていました。 –

+0

ソースがhttps://metacpan.org/source/GAAS/libwww-perl-6.04/lib/LWP/UserAgent.pm#L692の場合、引数が新しいcookie_jarを設定するときに空のハッシュのように見えます。 –

関連する問題