PHP获取WEB页面内容
以下是个简单的读取BAIDU页面内容的代码:
- <?php
- $hostip = '';
- $port = 80;
- $sock = fsockopen($hostip,$port,&$errno,&$errstr,5);
- if(!is_resource($sock)) {echo "Can not connect host server";}
- else {
- echo "Connect host is ok";
- $sendheader = "GET / HTTP/1.1\r\n";
- $sendheader .= "Host:\r\n";
- $sendheader .= "Connection:Close\r\n\r\n";
- fwrite($sock,$sendheader);
- while(!feof($sock)) {echo fgets($sock,128);}
- fclose($sock);
- }
- ?>
知识点:
1.fsockopen函数,参数为:主机,端口,报错ID,报错信息,超时时间,返回结果为一个流柄;
2.“组装”HTTP请求头信息,最终以两个“回车换行(\r\n\r\n)”结束;
3.用fwrite函数发送请求头信息到流柄;
4.通过fgets截开返回内容,进行输出;
5.最后fclose关闭流柄。
函数说明:
pfsockopen() - 打开一个socket连接
fgets() - 从文件指针中读取一行
fgetss() - 从文件指针中读取一行并过滤掉 HTML 标记
fwrite() - 写入文件(可安全用于二进制文件)
fclose() - 关闭一个已打开的文件指针
feof() - 测试文件指针是否到了文件结束的位置
阅读(2498) | 评论(0) | 转发(0) |