プロが教えるわが家の防犯対策術!

LWPでHTTPのクライアントを作成しています。
サーバ側で発行されたSet-Cookieヘッダを取得する方法ですが、
HTTP::Cookieでファイルに取得するのではなく、できれば変数に直接入れたい(ディスクI/Oを発生させたくない)のですが、
そのような手法はあるのでしょうか?

また、Cookieの再利用方法を教えて下さい。
たとえば、一度クライアントを一度起動し、セッションCookieを取得して、
そのCookieをまた別のクライアントに引数などで渡し、その値を利用してアクセスする、
といったようなことです。
毎度毎度ログインをしないで、Cookieだけ使いまわせれば、と思っております。

上記は全部SSL通信上での話です。
(Net::Ssleyを使用してSocketを作成してみたのですが、なぜか失敗してしまう・・・)

A 回答 (1件)

responseを取得した後、



my $cookie = $response->header('set-cookie');

で取得できると思います。
(サイトによって'set-cookie'の大文字、小文字の別があるかもしれないので要確認)

逆にCookieをセットしてサーバに送るには、HTTP::Request::Commonオブジェクトを生成してから

$request->header(cookie => '任意の文字列');

でセットできます。

なお、現在のLWPでは、SSLに使うモジュールはCrypt::SSLeayです。
詳しい情報はこちらで。
http://digit.que.ne.jp/work/index.cgi?Perl%E3%83 …
    • good
    • 0
この回答へのお礼

ありがとうございます、どんぴしゃりでございます。
ちなみにNet::SSLeayはPerl5.8版でもありますよ。
どこかをあさっていたら出てきたような・・・。

お礼日時:2006/10/09 15:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!