ホームページ > バックエンド開発 > PHPチュートリアル > php でリモートの gzip 圧縮 Web ページを読み取る方法、php_PHP チュートリアルで gzip 圧縮を読む方法

php でリモートの gzip 圧縮 Web ページを読み取る方法、php_PHP チュートリアルで gzip 圧縮を読む方法

WBOY
リリース: 2016-07-13 10:10:36
オリジナル
1070 人が閲覧しました

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...

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート