我正在尝试在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"
}