cURL을 사용하여 gzip으로 압축된 웹 페이지를 검색할 때 디코딩된 콘텐츠 대신 원시 데이터가 출력될 수 있습니다. 다음 방법을 사용하여 이 문제를 해결할 수 있습니다.
cURL의 "자동 인코딩" 모드를 사용하면 서버가 지원되는 인코딩 방법을 결정하고 자동으로 응답의 압축을 풀 수 있습니다. 이 모드를 활성화하려면 다음 명령을 사용하십시오.
<code class="php">curl_setopt($ch, CURLOPT_ENCODING, '');</code>
CURLOPT_ENCODING 옵션을 빈 문자열로 설정하면 cURL은 "자동" 모드를 사용합니다.
또는 CURLOPT_ENCODING 옵션을 'gzip'으로 설정하여 요청에서 GZIP 압축을 사용하도록 강제할 수 있습니다.
<code class="php">curl_setopt($ch, CURLOPT_ENCODING, 'gzip');</code>
이렇게 하면 서버에서 GZIP 압축이 명시적으로 요청됩니다.
검색된 데이터를 수동으로 압축 해제해야 하는 경우 gzdecode() 함수를 사용할 수 있습니다.
<code class="php">$decompressedContent = gzdecode($gzippedContent);</code>
이 함수는 GZIP으로 압축된 데이터를 디코딩하고 압축되지 않은 콘텐츠를 반환합니다.
안정적인 압축 해제를 보장하려면 컬 요청을 실행하기 전에 PHP의 출력 버퍼링을 비활성화하는 것이 좋습니다. 이렇게 하면 cURL의 응답 처리에 대한 간섭이 방지됩니다.
<code class="php">ob_end_clean();</code>
위 내용은 PHP에서 cURL을 통해 검색된 Gzip으로 압축된 웹 페이지의 압축을 푸는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!