php打开URL的几种方法

 我来答
一骑当后
推荐于2017-11-26 · 知道合伙人数码行家
一骑当后
知道合伙人数码行家
采纳数:40298 获赞数:306435
网络、设备维护、电路、弱电检测。

向TA提问 私信TA
展开全部
PHP中打开URL地址的几种方法总结,这里的函数主要用于小偷采集等函数。
1: 用file_get_contents 
以get方式获取内容 
复制代码 代码如下:

<?php 
$url='http://www.baidu.com/'; 

$html = file_get_contents($url); 
//print_r($http_response_header); 

ec($html); 
printhr(); 
printarr($http_response_header); 

printhr(); 
?> 

示例代码2: 用fopen打开url, 
以get方式获取内容 
复制代码 代码如下:

<? 
$fp = fopen($url, 'r'); 

printarr(stream_get_meta_data($fp)); 
printhr(); 
while(!feof($fp)) { 

$result .= fgets($fp, 1024); 

echo "url body: $result"; 

printhr(); 
fclose($fp); 
?> 


示例代码3:用file_get_contents函数,以post方式获取url 
复制代码 代码如下:

<?php 
$data = array ('foo' => 
'bar'); 
$data = http_build_query($data); 
$opts = array ( 
'http' 
=> array ( 
'method' => 'POST', 
'header'=> "Content-type: 
application/x-www-form-urlencoded" . 
"Content-Length: " . strlen($data) . 
"", 
'content' => $data 
), 
); 
$context = 
stream_context_create($opts); 
$html = 
file_get_contents('http://localhost/e/admin/test.html', false, $context); 

echo $html; 
?> 


示例代码4:用fsockopen函数打开url,以get方式获取完整的数据,包括header和body 
复制代码 代码如下:

<? 
function get_url 
($url,$cookie=false) { 
$url = parse_url($url); 
$query = 
$url[path]."?".$url[query]; 
ec("Query:".$query); 
$fp = fsockopen( 
$url[host], $url[port]?$url[port]:80 , $errno, $errstr, 30); 
if (!$fp) { 

return false; 
} else { 
$request = "GET $query HTTP/1.1"; 

$request .= "Host: $url[host]"; 
$request .= "Connection: Close"; 

if($cookie) $request.="Cookie: $cookie\n"; 
$request.=""; 

fwrite($fp,$request); 
while(!@feof($fp)) { 
$result .= @fgets($fp, 
1024); 

fclose($fp); 
return $result; 



//获取url的html部分,去掉header 
function GetUrlHTML($url,$cookie=false) { 

$rowdata = get_url($url,$cookie); 
if($rowdata) 

$body= 
stristr($rowdata,""); 
$body=substr($body,4,strlen($body)); 
return $body; 


return false; 


?>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式