2010-11-25 5 views
3

많은 웹 사이트에서 데이터를 가져 오는 데 curl을 사용하고 있습니다. 때로는 gzip을 보내 주기도합니다. 응답을 감지하는 방법은 gzip인가요?PHP curl, 감지 응답이 gzip이거나 아닙니다.

+0

응답에서 content-type 헤더가 필요합니다. 그것은 당신을 위해 도움이되어야합니다. http://www.satya-weblog.com/2010/07/php-curl-get-returned-content-mime-type.html –

답변

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에서 자동으로 데이터를 디코딩합니다.