【发布时间】:2017-08-09 13:54:47
【问题描述】:
我试图通过登录到外部站点来获取 Set-Cookie 值,然后使用该值执行不同的操作。我无法用 CookieJar 保存它,我需要从函数中返回字符串。
无论如何。预期的 Cookie 应如下所示:“JSESSIONID=123.cls_rs2a_8009”,但我得到的是“JESSIONID=123”
所以它似乎忽略了点之后的所有内容 - 或者它不像浏览器那样接收它。
有什么帮助吗?
当前代码示例未显示 URL:
$headers = [];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADERFUNCTION,
function($curl, $header) use (&$headers){
$len = strlen($header);
$header = explode(':', $header, 2);
if (count($header) < 2)
return $len;
$name = strtolower(trim($header[0]));
if (!array_key_exists($name, $headers))
$headers[$name] = [trim($header[1])];
else
$headers[$name][] = trim($header[1]);
return $len;
}
);
$data = curl_exec($ch);
var_dump($headers);
【问题讨论】: