Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP HttpRequest发送以前设置的cookie_Php_Cookies_Httprequest - Fatal编程技术网

PHP HttpRequest发送以前设置的cookie

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

我试图在HttpRequest中发送一个cookie,以便我发送请求的服务器读取它,就好像我的脚本是一个浏览器,而服务器之前已经设置了cookie一样。从php文档中,我认为这样做的方法是,但它不起作用。如果之后我
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在结束烹饪时对值进行重新编码,那么最终将发送损坏的双重编码数据。是的,这是有效的。谢谢!