fsockopen 抓取网页内容

fsockopen 抓取网页内容:

 

function get_page_content($url){
 $url = eregi_replace('^http://', '', $url);
 $temp = explode('/', $url);
 $host = array_shift($temp);
 $path = '/'.implode('/', $temp);
 $temp = explode(':', $host);
 $host = $temp[0];
 $port = isset($temp[1]) ? $temp[1] : 80;
 $fp = @fsockopen($host, $port, &$errno, &$errstr, 30);
 if ($fp){
     @fputs($fp, "GET $path HTTP/1.1/r/nHost: $host/r/nAccept: */*/r/nReferer:$url/r/nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)/r/nConnection: Close/r/n/r/n");
 }
 $Content = '';
 while ($str = @fread($fp, 4096)){
     $Content .= $str;
 }
 @fclose($fp);
 //重定向
 if(preg_match("/^HTTP///d./d 301 Moved Permanently/is",$Content)){
  if(preg_match("/Location:(.*?)/r/n/is",$Content,$murl)){
      return get_page_content($murl[1]);
  }
 }
 //读取内容
 if(preg_match("/^HTTP///d./d 200 OK/is",$Content)){
  preg_match("/Content-Type:(.*?)/r/n/is",$Content,$murl);
  $contentType=trim($murl[1]);
  $Content=explode("/r/n/r/n",$Content,2);
  $Content=$Content[1];
 }
 return $Content;
}

print_r(get_page_content('www.google.cn'));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值