从 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中文网其他相关文章!