2

Cookieを使用する場合は、次のようにコードを記述する必要があることを私は知っています。

$ua = LWP::UserAgent->new();
$ua->cookie_jar(HTTP::Cookies->new());

次に、get()、post()などを実行できます。

しかし、Cookie文字列をHTTP HEADERとget()に入れるだけでは、正しい応答を得ることができません。として:

$ua = LWP::UserAgent->new();
$ua->get($url, 'Cookie' => $cookie_string);
4

2 に答える 2

2

Cookieその方法でヘッダーが正しく設定されていることがわかると思います。

確認するために、あなたは書くことができます

my $resp = $ua->get('http://www.myurl.com', Cookie => 'my=data');

print $resp->request->as_string;

リクエストに次の行が含まれていることがわかります

Cookie: my=data
于 2013-02-12T15:32:03.037 に答える
-1

ドキュメントから、$ua->cookie_jar()オプションを指定するか、Cookieを保存するためのデータ構造を提供するためにハッシュを期待しているようです。私は試してみます

$ua->cookie_jar({});

また、使用しようとしているメソッドはCookieをメモリにのみ保存するため、スクリプトが終了すると、そのCookieに関する知識も終了することに注意してください。あなたは見たいかもしれません

http://metacpan.org/pod/HTTP::Cookies

http://www.perl.com/pub/2002/08/20/perlandlwp.html

インメモリCookiejarとファイルベースのCookiejarの両方の例。

HTTP :: Cookieがあなたのように呼び出されたときに適切なハッシュを返さない理由については、よくわかりませんが、そうではないようです。

于 2013-02-12T15:29:43.553 に答える