2010-11-25 20 views
3

私はcurlを使用して多くのWebサイトからデータを取得しています。 gzipを返すこともあります。応答を検出するにはgzipかどうか?PHP curl、検出応答がgzipであるかどうか

+0

レスポンスのコンテンツタイプヘッダーが必要です。それはあなたのために役立つはずです。 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

ところで、あなたが設定されている場合:

CURLOPT_ENCODING => '', 

CURLは自動的にデータをデコードします。

関連する問題