PHP读取网页文件内容的实现代码(fopen,curl等)

来源:互联网 发布:saa7134hl采集卡软件 编辑:程序博客网 时间:2024/05/16 12:55

转自:http://www.jb51.net/article/27448.htm


php小偷程序中经常需要获取远程网页的内容,下面是一些实现代码,需要的朋友可以惨况下。
1.fopen实现代码:
复制代码代码如下:

<?php 
$handle = fopen ("http://www.example.com/", "rb"); 
$contents = ""; 
while (!feof($handle)) { 
$contents .= fread($handle, 8192); 

fclose($handle); 
?> 

复制代码代码如下:

<?php 
// 对 PHP 5 及更高版本 
$handle = fopen("http://www.example.com/", "rb"); 
$contents = stream_get_contents($handle); 
fclose($handle); 
?> 

2.curl实现代码:
复制代码代码如下:

<?php 
function _url($Date){ 
$ch = curl_init(); 
$timeout = 5; 
curl_setopt ($ch, CURLOPT_URL, "$Date"); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"); 
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
$contents = curl_exec($ch); 
curl_close($ch); 
return $contents; 

$pageURL="http://www.baidu.com"; 
$contents=_url($pageURL); 
?> 

编码转换函数
复制代码代码如下:

$html = file_get_contents("http://s.jb51.net"); 
$html = iconv( "Big5", "UTF-8//IGNORE" , $html); //转化编码方式为UTF8 
print $html; 
$htm = file("http://s.jb51.net"); 
$h = ""; 
foreach($htm as $value) 

$h.= iconv( "GB2312", "utf-8//IGNORE" , $value); 

print_r($h); 

另一种打开网页的方法 
复制代码代码如下:

<?php 
$opts = array( 
'http'=>array( 
'method'=>"GET", 
'header'=>"Accept-language: en\r\n" . 
"Cookie: foo=bar\r\n" 

); 
$context = stream_context_create($opts); 
/* Sends an http request to www.example.com 
with additional headers shown above */ 
$fp = fopen('http://www.baidu.com', 'r', false, $context); 
fpassthru($fp); 
fclose($fp); 
?> 

0 0