file_get_contents 或 CURL 请求未发送 Cookie

Cookies are not being sent with file_get_contents or CURL requests

我正在尝试向 URL 发送 file_get_contents 请求,其中包含 POST 数据和 cookie 集。

我的代码是这样的:

$postdata = http_build_query(
    array(
        'search' => 'test',
        'token' => '0'
    )
);

// Create a stream
$opts = array(
      'http'=> array(
            'method'=>"POST",
            'content' => $postdata,
            'header' => "Content-Type: application/x-www-form-urlencoded\n"."Cookie: session_hash=123456789"
      )
);

$context = stream_context_create($opts);

// Open the file using the HTTP headers set above
$file = file_get_contents('https://example.com', false, $context);

echo $file;

正如我所见,这正在发布数据,但是 Cookie 没有在请求期间发送...

我也尝试使用相同的请求,但使用 CURL,我遇到了同样的问题。

如有任何帮助,我们将不胜感激。

谢谢!

headers 可能需要用 \r\n 分隔,而不仅仅是 \n。你也可以使用数组,它们将被正确发送。

'header' => array("Content-Type: application/x-www-form-urlencoded",
                  "Cookie: session_hash=123456789")