PHP カール コレクション、サーバーから gzip 圧縮によって返されたデータをどうするか
一般に、サーバーは gzip 圧縮データをランダムに返しません。一般に、クライアント リクエストのヘッダーには、クライアントが受け入れ可能な圧縮方法が含まれています。ブラウザ、
Accept-Encoding:gzip,deflate,sdch
ここでは gzip、deflate、sdch の 3 つの方法を説明します。理解できない場合は、Gu Gedu Niang を参照してください。
一部のサーバーで gzip 圧縮データを強制的に返却させられました。収集したところ、返却されたデータが文字化けしており、読み込むことができませんでした。このとき、すぐにマニュアルを確認しました。
実際には、curl にパラメータ、curl_setopt($ch, CURLOPT_ENCODING,' gzip');
マニュアルの説明:
<span style="background-color:rgb(255,255,255)">CURLOPT_ENCODING</span><p></p> td> |
HTTP リクエスト ヘッダー「Accept-Encoding:」の値。サポートされているエンコードは、「identity」、「deflate」、「gzip」 です。空の文字列 "" の場合、リクエスト ヘッダーはサポートされているすべてのエンコード タイプを送信します。 |
<strong><span style="background-color:rgb(255,255,255)">CURLOPT_ENCODING</span></strong> |
HTTP请求头中"Accept-Encoding: "的值。支持的编码有"identity","deflate"和"gzip"。如果为空字符串"",请求头会发送所有支持的编码类型。 |