本文目錄一覽:
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
)
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/271108.html