我有一段代码要登录以测试网站登录: $r = new HttpRequest($newlocation, HttpRequest::METH_GET); $r->addCookies($cookieArray); $r->发送();
$cookieArray 的内容来自重定向,但我没有以任何方式修改它。真正出人意料的是,如果 cookie(身份验证令牌字符串)的值包含斜杠,则无法正确登录。如果它没有斜线,一切正常。
任何想法表示赞赏。
我有一段代码要登录以测试网站登录: $r = new HttpRequest($newlocation, HttpRequest::METH_GET); $r->addCookies($cookieArray); $r->发送();
$cookieArray 的内容来自重定向,但我没有以任何方式修改它。真正出人意料的是,如果 cookie(身份验证令牌字符串)的值包含斜杠,则无法正确登录。如果它没有斜线,一切正常。
任何想法表示赞赏。
您可以在传递它之前尝试 urlencode()-ing 值,并在访问 cookie 时尝试 urldecode()-ing 它。我认为斜线和 cookie 并不是真的很好玩。
您是否尝试过序列化和 urlenconding cookie 数据?
$tmpdata = serialize($arraydata);
$tmpdata = urlencode($tmpdata);
setcookie($cookiename, $tmpdata, time()+3600*5, "/");
可能是一个 magic_quotes 问题,对它进行双斜线处理,它会修改整个 cookie 值。否则,使用 array_walk 将 cookieArray 和 URL 编码,就像 Ben 建议的那样。