PHP cUrl 和 cookie GX_SESSION_ID

PHP cUrl and cookie GX_SESSION_ID

我被这件事卡住了。

我正在尝试自动化网站表单中的查询,并使用 PHP 处理 return 响应。我的代码实际上有效,但仅当我添加以下内容时 header:

$headers = [
    'Cookie: GX_SESSION_ID=zWfdnmlQgtodK0ax97epfsbma9J0tvVI%2B%2BelShsOIZo%3D; JSESSIONID=E1378A4864FFF03AF4B8BAA0CBB88D89;',
];
curl_setopt($cURLConnection, CURLOPT_HTTPHEADER, $headers);

JSESSIONID var 不是问题,没有它脚本运行良好。但是如果我不使用有效的 gx session id 声明 GX_SESSION_ID var(我从 google chrome 浏览网站) 脚本不工作。

当我用GoogleChrome浏览网站时,一进入网站。 cookie 在请求 Headers.

中发送

我不明白这个变量是如何创建的。

你能帮我把它重新创建到我的 cURL PHP 代码中吗?创建校准 GX_SESSION_ID 而无需从浏览器手动获取它?

谢谢大家

使用 curl 获取 cookie 变量作为数组:

$ch = curl_init('http://www.google.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// get headers too with this line
curl_setopt($ch, CURLOPT_HEADER, 1);
$result = curl_exec($ch);
// get cookie
// multi-cookie variant contributed by @Combuster in comments
preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $result, $matches);
$cookies = array();
foreach($matches[1] as $item) {
    parse_str($item, $cookie);
    $cookies = array_merge($cookies, $cookie);
}
var_dump($cookies);