PHP HttpRequest发送以前设置的cookie

时间:2013-11-18 16:11:56

标签: php cookies httprequest

我正在尝试在HttpRequest中发送一个cookie,以便我发送请求的服务器读取它,好像我的脚本是浏览器并且服务器先前已经设置了cookie。从PHP文档我想这样做的方法是setCookies,但它不起作用。如果之后我var_dump()请求对象,我会得到以下内容:

["options":"HttpRequest":private]=>
array(1) {
  ["cookies"]=>
  array(1) {
    ["sid"]=>
    string(16) "0%3B75b9f2703710"
  }
}
...
["responseInfo":"HttpRequest":private]=>
array(32) {
...
  ["cookies"]=>
  array(0) {
  }
...

这正是我从先前的请求中提取的会话ID,但是cookie似乎没有发送到服务器,因为会话不被接受。

但是,使用HttpRequest对象的enableCookie()方法,一切正常,服务器接受会话,我登录。我不能使用此方法,因为我想在请求之间存储会话cookie我的脚本,所以我不需要每次都登录。

TL; DR 如何使用HttpRequest正确发送Cookie?

请不要使用cURL解决方案。

编辑:使用enableCookie()方法时,请求对象的var_dump为

["options":"HttpRequest":private]=>
NULL
...
["responseInfo":"HttpRequest":private]=>
array(32) {
  ["cookies"]=>
  array(1) {
    [0]=>
    string(67) "#HttpOnly_example.com   FALSE   /   FALSE   0   sid 0%3B75b9f2703710"
}

0 个答案:

没有答案