在 PHP CURL 中设置 cookie


setting a cookie in PHP CURL

我对 php curl 概念真的很陌生,任何人都可以给我看一个简单的例子,说明如何使用 php curl 在浏览器中设置 cookie

这是我的代码不起作用...

$ch = curl_init('http://localhost/setc.php?userid=123&panelid=1');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// get headers too with this line
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_exec($ch);
curl_close($ch);

但是当我var_dump这个时,它会被打印出来,非常困惑,请帮忙

array (size=1)
  'userid' => string '1:123' (length=8)

请如果你困惑...您可以简单地忽略我的上述编码,并让我知道如何使用php curl设置一个简单的cookie

我不清楚你期望 cookie 会发生什么。 但是,您可以尝试以下操作:

$ch = curl_init('http://localhost/setc.php?userid=123&panelid=1');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// get headers too with this line
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookies.txt');
curl_setopt($ch, CURLOPT_COOKIE, 'cookiename=cookievalue');
curl_exec($ch);
curl_close($ch);

Php Curl允许您直接设置cookie Header,使用:

curl_setopt($curlHandle,CURLOPT_COOKIE, $cookieString);

其中 $cookieString 保存分号分隔的 cookie 数据的键=值对。

请参考这个问题:PHP curl 和 setcookie 问题

并且一定要彻底通过 http://php.net/manual/en/function.curl-setopt.php

试试这个:

curl_setopt($ch , CURLOPT_COOKIEJAR, 'cookies.txt');
curl_setopt($ch , CURLOPT_COOKIEFILE, 'cookies.txt');

这将自动创建一个饼干.txt