phpでリモートのgzip圧縮されたWebページを読む方法、phpでgzip圧縮を読む方法
今日モールのページ情報を取得する場合は、file_get_contents またはcurlを使用します:
コードをコピーします コードは次のとおりです:
$url = 'http://www.xxx.com/21/?type=23';
$temp = ファイル_get_contents($url);
エコー $temp;
ページのヘッダー情報を含む多くのコンテンツを確認したところ、すべてのコードが文字化けしていました。元のページでそれが使用されていることがわかりました。
同様の情報、つまり、Content-Encoding は gzip です。これは、サイトで gzip 圧縮がオンになっていることを意味します。もちろん、file_get_contents を使用する場合は、次のように変更できます。
コードをコピーします
コードは次のとおりです:
file_get_contents("compress.zlib://".$url);
または、curl を使用してそれを行います:
コードをコピーします
コードは次のとおりです:
関数curl_get($url, $gzip=false){
$curl =curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
if($gzip)curl_setopt($curl, CURLOPT_ENCODING, "gzip") // キーはここにあります
$content =curl_exec($curl);
curl_close($curl);
$content を返す;
}
同時に、マニュアルの上記の解決策を参照して、次のように gzip 形式で保存された文字列を処理することもできます:
コードをコピーします
コードは次のとおりです:
関数 gzdecode($data){
$g=tempnam('/tmp','ff');
@file_put_contents($g,$data);
Ob_start();
Readgzfile($g);
$d=ob_get_clean();
$d を返します
}
http://www.bkjia.com/PHPjc/934936.html
www.bkjia.com
本当
http://www.bkjia.com/PHPjc/934936.html
技術記事
php でリモートの gzip 圧縮 Web ページを読み取る方法。今日、モールからページ情報を取得する場合は、file_get_contents またはcurl を使用します。次のようにコードをコピーします。 $u...