一个PHP页面抓取函数
来源:互联网 发布:华为windows平板 编辑:程序博客网 时间:2024/05/20 08:26
function fcontents( $url, $timeout = 5, $referer = "" ){$bits = @parse_url( $url );if ( !$bits[host] ){return "";}if ( $bits[port] ){$port = intval( $bits[port] );}else{$port = $bits[scheme] == "https" ? 443 : 80;}$portq = $port == 80 ? "" : ":{$port}";$stime = time( );$fp = @fsockopen( $bits[host], $port, $errno, $errstr, $timeout );if ( !$fp ){return "";}else{$stime = time( ) - $stime;$timeout = $timeout - $stime;if ( $timeout < 1 ){$timeout = 1;}stream_set_timeout( $fp, $timeout );if ( !$referer ){$referer = $bits[scheme]."://".$bits[host]."/";}$path = $bits[path] ? $bits[path] : "/";if ( $bits[query] ){$path .= "?".$bits[query];}$out = "GET {$path} HTTP/1.0\r\n";$out .= "Host: {$bits[host]}{$portq}\r\n";$out .= "User-Agent: Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.1; SV1)\r\n";$out .= "Accept: */*\r\n";$out .= "Accept-Language: zh-cn\r\n";$out .= "Accept-Encoding: identity\r\n";$out .= "Referer: {$referer}\r\n";$out .= "Connection: Close\r\n\r\n";fputs( $fp, $out );$data = "";$inHeaders = true;while ( $line = @fgets( $fp, 2048 ) ){if ( $inHeaders ){$line = trim( $line );if ( empty( $line ) ){$inHeaders = false;}continue;}$data .= $line;}fclose( $fp );return $data;}}
0 0
- 一个PHP页面抓取函数
- 一个PHP的远程图片抓取函数
- php 抓取页面
- PHP抓取页面
- PHP 页面抓取技术
- php 抓取页面数据
- PHP 实现页面抓取
- php 抓取页面乱码
- 分享一个PHP的远程图片抓取函数
- 分享一个PHP的远程图片抓取函数
- 一个PHP的远程图片抓取函数分享
- php抓取页面方法汇总
- php抓取页面方法汇总
- php抓取google搜索页面
- php页面的数据抓取
- php的curl抓取页面
- php计算一个页面执行时间函数写法
- 用.NET 抓取一个页面
- hive 各种表及数据导入
- unsigned long
- static成员必须在类外初始化
- cmake入门例子
- 02-1. 一元多项式求导 (25)
- 一个PHP页面抓取函数
- 《c primer plus》编程练习回顾-第四章
- 构造函数详解
- SpringMVC从Controller跳转到另一个Controller
- 自己写的重命名函数(前缀+编号)
- 谁该做 Product Owner?
- java网络编程基础夯实04-DNS缓存
- 二分查找+二分排序(快速排序)
- 【转】HTTP协议结构