我在设置和获取Cookie数据时遇到问题。
当我打电话给以下方法时:
%cookies = CGI::Cookie->fetch;
使用Data :: Dumper打印出哈希:
print Dumper(%cookies);
之前创建的Cookie:
$sessioncookie = CGI::Cookie->new(-name=>'SID', -value=>"$sid", -expires=>'+1M', -path=>'/member/');
print $cgi->header(-cookie=>$sessioncookie);
不会显示在输出中。但它出现在我的浏览器cookie列表中! 设置所有值,它看起来像一个普通的cookie。但实际上它不可能。
有人知道我做错了什么。是否有严格的检索cookie数据的命令?
我也尝试过cgi.pm提供的方法,但它也没有用。
请帮助我!
答案 0 :(得分:1)
- 醇>
路径
如果您提供Cookie路径属性,浏览器将根据您的身份进行检查 返回cookie之前的脚本URL。例如,如果指定 路径“/ cgi-bin”,然后cookie将返回到每个脚本 “/cgi-bin/tally.pl”,“/ cgi-bin / order.pl”,和 “/cgi-bin/customer_service/complain.pl”,但不是脚本 “/cgi-private/site_admin.pl”。默认情况下,路径设置为“/”,以便全部 您网站上的脚本将收到Cookie。
所以我暂时删除路径并重试。
与perl一样,如果你没有使用严格和警告,那么打开它们