一个范例函数:
CODE:
//获取目标页面文件流并转换成字符串形式
function openfile($url)
{
if(file($url)){
$str =
file($url);
$count =
count($str);
for
($i=0;$i
$file .=
$str[$i];
}
return
$file;
} else {
die("文件打开失败!"); }
}
用法举例:
$getstr=openfile("http://86enjoy.com");
//getsrt是一个字符串,你可对它作进一步处理。2.使用file_get_contents()函数,该函数可以直接将获取的web页面内容转换成字符串
CODE:
$getstr=file_get_contents("http://86enjoy.com");
//getsrt就是一个字符串,你可对它作进一步处理。3.使用Microsoft.XMLHTTP组件方式。不过该组件需要windows平台支持,它是windows的一个组件,php程序以com形式调用它。
范例程序:
CODE:
//Microsoft.XMLHTTP组件使用范例程序get.php
//作者:天涯风云
$url=$_GET['id'];
$xmlhttp = new COM("Microsoft.XMLHTTP") or
die("无法创建Microsoft.XMLHTTP组件!");
$xmlhttp->open("GET",$url,False, "", "");
$xmlhttp->setRequestHeader("content-Type","text/html");
$xmlhttp->send();
$body=$xmlhttp->responseText;
echo $body;
?>
用法:get.php?id="目标页面"4.使用fsockopen()函数,获取文件流
范例程序:
CODE:
function
request_url($url,$method='POST') {
$url = parse_url($url); //解析url地址,取得host,path,port,query等
if (!$url) return "couldn't parse url";
if (!isset($url['port'])) { $url['port'] = ""; }
if (!isset($url['query'])) { $url['query'] = ""; }
//连接服务器
$fp = fsockopen($url['host'], $url['port'] ? $url['port'] :
80);
if (!$fp) return "不能连接".$url['host']."服务器";
//发送请求
fputs($fp, sprintf("$method %s%s%s HTTP/1.0/n", $url['path'],
$url['query'] ? "?" : "", $url['query']));
fputs($fp, "Host: $url[host]/n");
fputs($fp, "Content-type:
application/x-www-form-urlencoded/n");
fputs($fp, "Connection: close/n/n");
//获得请求后返回的内容
$line = fgets($fp,1024);
if (!eregi("^HTTP/1/.. 200", $line)) return;
$results = "";
while(!feof($fp)) {
$line = fgets($fp,1024);
$results .= $line;
}
fclose($fp);
return $results;
}
函数用法:
$getstr=request_url("目标页面");
//getstr是一个字符串,你可对它作进一步处理。[ 本帖最后由 天涯风云 于 2007-6-3 12:14
编辑 ]