本文目录一览:
php打开URL的几种方法
PHP中打开URL地址的几种方法总结,这里的函数主要用于小偷采集等函数。
1: 用file_get_contents
以get方式获取内容
复制代码 代码如下:
?php
$url='';
$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('', 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;
}
?
php中有什么方法或函数可以取到页面中的所有url
老兄你好,我们一起来探讨下这个思路:
1.你说页面内容你已经拿到,那么我们的范围应该是对这个文件进行操作。
2.打开文件,把文件内容读入一个数组里。(具体涉及到得函数去查手册,对你不是问题。)然后循环这个数组,对每一行进行处理。
3.URL通常放在哪里?你猜对了,当然是放在a href="URL"/a超链接标签里了。如果该行里有超链接标签,你就设法把""里的URL截取出来,没有就下一行,直至文件循环结束。
////////思路就是这样的,具体的函数你去查都很简单的,祝你成功。
php获取url参数程序代码总结
parse_url函数
我们先来了解一下parse_url函数,官方解决
说明
mixed
parse_url
(
string
$url
[,
int
$component
=
-1
]
)
本函数解析一个
URL
并返回一个关联数组,包含在
URL
中出现的各种组成部分。
本函数不是用来验证给定
URL
的合法性的,只是将其分解为下面列出的部分。不完整的
URL
也被接受,
parse_url()
会尝试尽量正确地将其解析。
要解析的
URL。无效字符将使用
_
来替换。
实例
代码如下
$url
=
"";
$parts
=
parse_url($url);
print_r($parts);
array
(
[scheme]
=
http
[host]
=
[path]
=
/welcome/
)
也可以自己去写一个算法!如下
代码如下
function
getParams()
{
$url
=
'/index.php?_p=index_a=showx=12y=23';
$refer_url
=
parse_url($url);
$params
=
$refer_url['query'];
$arr
=
array();
if(!empty($params))
{
$paramsArr
=
explode('',$params);
foreach($paramsArr
as
$k=$v)
{
$a
=
explode('=',$v);
$arr[$a[0]]
=
$a[1];
}
}
return
$arr;
}
调用方法
代码如下
$arr
=
getParams();
print_r($arr);
结果
结果:
Array
(
[_p]
=
index
[_a]
=
show
[x]
=
12
[y]
=
23
)