>백엔드 개발 >PHP 튜토리얼 >PHP Curl 응답에서 쿠키를 변수로 추출하려면 어떻게 해야 합니까?

PHP Curl 응답에서 쿠키를 변수로 추출하려면 어떻게 해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-22 15:12:11763검색

How Can I Extract Cookies from a PHP Curl Response into a Variable?

PHP Curl 응답에서 변수로 쿠키 검색

특정 시나리오에서는 외부 API 응답이 설명할 수 없을 정도로 HTTP 헤더 내에 쿠키로 포함될 수 있습니다. , SOAP 또는 REST와 같은 기존 통신 프로토콜을 활용하는 대신. 힘든 구문 분석에 의존하지 않고 이러한 쿠키를 구조화된 배열로 쉽게 추출하려면 다음 기술을 사용할 수 있습니다.

PHP Curl 확장을 활용하면 다음을 사용하여 쿠키를 포함한 HTTP 응답을 검색할 수 있습니다. 코드:

$ch = curl_init('http://www.google.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Retrieve headers too
curl_setopt($ch, CURLOPT_HEADER, 1);
$result = curl_exec($ch);

응답에서 쿠키를 추출하려면 정규식을 사용할 수 있습니다.

// Extract cookies using regular expressions
preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $result, $matches);

$matches 배열에는 응답에서 발견된 모든 쿠키가 포함됩니다. 이를 보다 유용한 형식으로 변환하려면 각 쿠키 문자열을 다음을 사용하여 배열로 구문 분석할 수 있습니다.

$cookies = array();
foreach($matches[1] as $item) {
    parse_str($item, $cookie);
    $cookies = array_merge($cookies, $cookie);
}

마지막으로 $cookies 배열의 쿠키에 액세스할 수 있습니다. 이 접근 방식은 복잡한 구문 분석이나 파일 기반 작업 없이도 컬 응답에서 쿠키를 효과적으로 추출합니다.

위 내용은 PHP Curl 응답에서 쿠키를 변수로 추출하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.