Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1216055
  • 博文数量: 135
  • 博客积分: 10576
  • 博客等级: 上将
  • 技术积分: 1670
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-11 20:49
个人简介

不疯魔,不成活! --疯魔老杨(Crazy.LaoYang) http://www.inotes.cn/

文章分类

全部博文(135)

文章存档

2014年(4)

2012年(13)

2011年(5)

2010年(30)

2009年(56)

2008年(27)

分类: 系统运维

2012-05-09 23:09:27

PHP获取WEB页面内容

以下是个简单的读取BAIDU页面内容的代码:

点击(此处)折叠或打开

  1. <?php
  2. $hostip = '';
  3. $port = 80;
  4. $sock = fsockopen($hostip,$port,&$errno,&$errstr,5);
  5. if(!is_resource($sock)) {echo "Can not connect host server";}
  6.    else {
  7.       echo "Connect host is ok";
  8.       $sendheader = "GET / HTTP/1.1\r\n";
  9.       $sendheader .= "Host:\r\n";
  10.       $sendheader .= "Connection:Close\r\n\r\n";
  11.       fwrite($sock,$sendheader);
  12.       while(!feof($sock)) {echo fgets($sock,128);}
  13. fclose($sock);
  14. }
  15. ?>
知识点:
1.fsockopen函数,参数为:主机,端口,报错ID,报错信息,超时时间,返回结果为一个流柄;
2.“组装”HTTP请求头信息,最终以两个“回车换行(\r\n\r\n)”结束;
3.用fwrite函数发送请求头信息到流柄;
4.通过fgets截开返回内容,进行输出;
5.最后fclose关闭流柄。

函数说明:
pfsockopen() - 打开一个socket连接
fgets() - 从文件指针中读取一行
fgetss() - 从文件指针中读取一行并过滤掉 HTML 标记
fwrite() - 写入文件(可安全用于二进制文件)
fclose() - 关闭一个已打开的文件指针
feof() - 测试文件指针是否到了文件结束的位置
阅读(2439) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~