PHP HttpRequest发送以前设置的cookie
我试图在HttpRequest中发送一个cookie,以便我发送请求的服务器读取它,就好像我的脚本是一个浏览器,而服务器之前已经设置了cookie一样。从php文档中,我认为这样做的方法是,但它不起作用。如果之后我PHP HttpRequest发送以前设置的cookie,php,cookies,httprequest,Php,Cookies,Httprequest,我试图在HttpRequest中发送一个cookie,以便我发送请求的服务器读取它,就好像我的脚本是一个浏览器,而服务器之前已经设置了cookie一样。从php文档中,我认为这样做的方法是,但它不起作用。如果之后我var\u dump()请求对象,我会得到以下结果: ["options":"HttpRequest":private]=> array(1) { ["cookies"]=> array(1) { ["sid"]=> string(16) "0
var\u 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对象的方法,一切正常,服务器接受会话,我登录。我无法使用此方法,因为我想在脚本的请求之间存储会话cookie,这样我就不需要每次登录
TL;DR如何正确发送带有HttpRequest的Cookie
请不要卷曲液
编辑:当使用enableCookie()方法时,请求对象的变量转储是
["options":"HttpRequest":private]=>
NULL
...
["responseInfo":"HttpRequest":private]=>
array(32) {
["cookies"]=>
array(1) {
[0]=>
string(67) "#HttpOnly_example.com FALSE / FALSE 0 sid 0%3B75b9f2703710"
}
尝试将
%3B
解码为本机值。如果httprequest在结束烹饪时对值进行重新编码,那么最终将发送损坏的双重编码数据。是的,这是有效的。谢谢!