>  기사  >  백엔드 개발  >  php_php 팁에서 원격 gzip 압축 웹 페이지를 읽는 방법

php_php 팁에서 원격 gzip 압축 웹 페이지를 읽는 방법

WBOY
WBOY원래의
2016-05-16 20:27:05865검색

오늘 쇼핑몰의 페이지 정보를 검색할 때는 file_get_contents 또는 컬을 사용하세요.


코드 복사 코드는 다음과 같습니다.

$url = 'http://www.xxx.com/21/?type=23'
$temp = file_get_contents($url)
에코 $temp;


페이지의 헤더 정보를 포함하여 많은 내용을 확인한 결과 원본 페이지에서 이를 사용한 것으로 나타났습니다.

유사한 정보, 즉 Content-Encoding은 gzip입니다. 이는 사이트에 gzip 압축이 켜져 있음을 의미합니다. 물론 여기에는 많은 솔루션이 있습니다. file_get_contents를 사용하면 다음과 같이 수정할 수 있습니다.

코드 복사 코드는 다음과 같습니다.

file_get_contents("compress.zlib://".$url);

또는 컬을 사용해도 됩니다.


코드 복사 코드는 다음과 같습니다.

함수 컬_get($url, $gzip=false){
           $curl =curl_init($url);                                               cur_setopt($curl, CURLOPT_RETURNTRANSFER, 1);                                                 cur_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);                                         If($gzip) 컬_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()
읽기gzfile($g)
$d=ob_get_clean()
$d 반환
}


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.