從PHP cURL 回應中擷取Cookie
擷取嵌入在HTTP 標頭中的cookie 對於解析非標準通訊協定的回應至關重要。為了簡化此任務,避免不必要的文件寫入操作,並可能節省充足的時間,請考慮使用PHP 的cURL 擴充功能的以下解決方案:
// Initialize cURL $ch = curl_init('http://www.google.com/'); // Enable response caching and header retrieval curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 1); // Execute cURL request $result = curl_exec($ch); // Extract cookies from header using regular expression (multi-cookie support) 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); } // Display the extracted cookies as an array var_dump($cookies);
此解決方案使用正規表示式有效地從cURL 回應中提取cookie 並儲存它們在關聯數組中。透過利用 PHP 內建的 cookie 處理功能,您可以避免寫入檔案並簡化從自訂協定解析 cookie 的過程。
以上是如何使用正規表示式從 PHP cURL 回應中提取 Cookie?的詳細內容。更多資訊請關注PHP中文網其他相關文章!