>  기사  >  웹 프론트엔드  >  curl,fsocketopen,socket 三种函数抓取html页面_html/css_WEB-ITnose

curl,fsocketopen,socket 三种函数抓取html页面_html/css_WEB-ITnose

WBOY
WBOY원래의
2016-06-24 11:39:121024검색

(1) php - curl 

<?php $ch_article = curl_init();    $url        = 'www.baidu.com';    curl_setopt($ch_article, CURLOPT_URL, $url);    curl_setopt($ch_article, CURLOPT_RETURNTRANSFER, 0);    curl_setopt($ch_article, CURLOPT_HEADER, 0);    $article_output = curl_exec($ch_article);    curl_close($ch_article);    echo $article_output;?>


(2) php - fsocketopen

<?php $fp = fsockopen("www.baidu.com", 80, $errno, $errstr, 30);$out = "GET / HTTP/1.1\r\n";$out .= "Host: www.baidu.com\r\n";$out .= "Connection: Close\r\n\r\n";fwrite($fp, $out);while (!feof($fp)) {    echo fgets($fp, 128);}fclose($fp);?>


(3) php - socket

<?php $url='www.baidu.com';$Port = 80;$host_ip  = gethostbyname('www.baidu.com');$Header  .= trim('Host:www.baidu.com')."\r\n";$Header  .= trim('Connection: Close')."\r\n";$method   = 'GET';$Request  = $method." " . '/' . " HTTP/1.1\r\n";$Request .= $Header;$Request .= "\r\n";$sockHttp    = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);$resSockHttp = socket_connect($sockHttp, $host_ip, $Port);socket_write($sockHttp, $Request, strlen($Request));$Response = '';while ($Read_data = socket_read($sockHttp, 4096)){	$Response .= $Read_data;}socket_close($sockHttp);echo $Response;?>


版权声明:本文为博主原创文章,未经博主允许不得转载。

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