以下のコードで WWW::Mechanize を使用して設定した Cookie をサーバーが実際に認識しない理由は何ですか?
#!/usr/bin/perl
use strict;
use warnings;
use HTTP::Cookies;
use WWW::Mechanize;
my $cookie_jar = HTTP::Cookies->new(
file => "$ENV{'HOME'}/lwp_cookies.dat",
autosave => 1,
ignore_discard => 1
);
my $mech = WWW::Mechanize->new(
agent => 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13',
cookie_jar => $cookie_jar
);
$mech->get("http://somesite.ru");
$cookie_jar->set_cookie(1, "__cookie", '1', "/", ".somesite.ru");
#the following line prints the cookie's data
print $cookie_jar->as_string, "\n";
$mech->post("http://somesite.ru/action.php",
['foo' => 'bar']);
ご覧のとおり、サーバーはphpを実行しています。そのaction.phpスクリプトを入れると:
var_dump($_COOKIE);
とにかく空の配列を取得します...すべての提案に感謝します。