我被這件事困住了。我正在嘗試自動化網站表單中的查詢并使用 PHP 處理返回響應。我的代碼實際上有效,但僅當我添加以下標題時:$headers = [ 'Cookie: GX_SESSION_ID=zWfdnmlQgtodK0ax97epfsbma9J0tvVI%2B%2BelShsOIZo%3D; JSESSIONID=E1378A4864FFF03AF4B8BAA0CBB88D89;',];curl_setopt($cURLConnection, CURLOPT_HTTPHEADER, $headers);JSESSIONID var 不是問題,沒有它腳本運行良好。但是,如果我沒有使用有效的 gx 會話 id(我從瀏覽網站的 google chrome 獲?。┞暶鱃X_SESSION_ID var,則腳本不起作用。當我用谷歌瀏覽器瀏覽網站時,只要我進入網站。cookie 在請求標頭中發送。我不明白這個 var 是如何創建的。你能幫我把它重新創建到我的 cURL PHP 代碼中嗎?創建一個 calid GX_SESSION_ID 而不需要從瀏覽器手動獲取它?謝謝你們
1 回答

白板的微信
TA貢獻1883條經驗 獲得超3個贊
使用 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);
- 1 回答
- 0 關注
- 140 瀏覽
添加回答
舉報
0/150
提交
取消