CGI :: Cookie fetch找不到cookie

时间:2013-09-15 15:33:39

标签: perl session cookies cgi

我在设置和获取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提供的方法,但它也没有用。

请帮助我!

1 个答案:

答案 0 :(得分:1)

根据CGI::Cookie

中“路径”的帮助
  
      
  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。

  2.   

所以我暂时删除路径并重试。

与perl一样,如果你没有使用严格和警告,那么打开它们