首页 > 编程知识 正文

php获取url各个部分的函数(php获取地址栏参数)

时间:2023-12-19 00:42:51 阅读:317449 作者:VYXN

本文目录一览:

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: $cookien"; 

$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

)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。