많은 웹 사이트에서 데이터를 가져 오는 데 curl을 사용하고 있습니다. 때로는 gzip을 보내 주기도합니다. 응답을 감지하는 방법은 gzip인가요?PHP curl, 감지 응답이 gzip이거나 아닙니다.
3
A
답변
3
curl_setopt($curl, CURLOPT_HEADER, true);
curl_exec
은 또한 당신이 gzip으로 압축되어 있는지 분석 할 수있는 HTTP 응답의 헤더를 다음이 포함됩니다의 결과입니다.
gzip으로 압축 된 응답은 다음과 같이 될 것이다 :
HTTP/1.1 200 OK
Server: Apache
Content-Type: text/html
Content-Encoding: gzip
Content-Length: 26395
[GZIP COMPRESSED DATA]
그래서 먼저 헤더와 내용에 응답을 끊고 다음은 gzip으로 인코딩 된 콘텐츠에 대해 아무것도 말한다 있는지 확인하기 위해 헤더를 구문 분석 할 수 있습니다.
5
BTW, 당신이 설정 한 경우 :
CURLOPT_ENCODING => '',
CURL에서 자동으로 데이터를 디코딩합니다.
응답에서 content-type 헤더가 필요합니다. 그것은 당신을 위해 도움이되어야합니다. http://www.satya-weblog.com/2010/07/php-curl-get-returned-content-mime-type.html –