我在我的CGI脚本中设置了一个cookie并尝试读取它,但读取失败。什么可能导致这个?为什么我无法在我的CGI脚本中获取cookie?
这里是我的脚本:
use strict;
use warnings;
use CGI;
use CGI::Cookie;
use CGI qw/:standard/;
use CGI;
my $cgi = new CGI;
my $cookie1 = $cgi->cookie(-name => 'ID', -value => 123456);
my $cookie2 = $cgi->cookie(-name => 'NAME', -value => 'ABCDEF');
print "Cookies:\n" . header(-cookie => [ $cookie1, $cookie2 ]);
my $id = $cgi->cookie('ID') || 'No ID cookie';
my $name = $cgi->cookie('NAME') || 'No Name cookie';
print "ID-Cookie :$id\n";
print "Name-Cookie :$name\n";
my %cookies = CGI::Cookie->fetch;
my $count = 0;
for (keys %cookies) {
$count++;
print "Cookie[$count]: $cookies{$_}\n";
}
print "Total cookies: $count\n";
输出:
Cookies:
Set-Cookie: ID=123456; path=/
Set-Cookie: NAME=ABCDEF; path=/
Date: Thu, 09 Oct 2014 19:05:55 GMT
Content-Type: text/html; charset=ISO-8859-1
ID-Cookie :No ID cookie
Name-Cookie :No Name cookie
Total cookies: 0
我也试过$cookies{'ID'}->value
。那也行不通。