-
您當(dāng)前所在位置:
首頁(yè) →
網(wǎng)絡(luò)編程 →
PHP編程 →
如何使用PHP服務(wù)端代理抓取網(wǎng)頁(yè)內(nèi)容
-
如何使用PHP服務(wù)端代理抓取網(wǎng)頁(yè)內(nèi)容
時(shí)間:2015-06-28 00:00:00
來(lái)源:IT貓撲網(wǎng)
作者:網(wǎng)管聯(lián)盟
我要評(píng)論(0)
-
最近公司暫時(shí)斷開(kāi)外網(wǎng),只開(kāi)放公司自己所有的站點(diǎn)允許訪問(wèn),說(shuō)實(shí)在的,做WEB開(kāi)發(fā)的斷網(wǎng),真是讓人哭笑不得......
由于需要查找資料,只好簡(jiǎn)單寫(xiě)了一個(gè)PHP的服務(wù)端代理頁(yè)面來(lái)用一下!
簡(jiǎn)單框架頁(yè)面:
PHP代理頁(yè)面:
以下為引用的內(nèi)容:
//使用Snoopy的抓頁(yè)功能
include "Snoopy.class.php";
//目標(biāo)URL
$url = $_REQUEST['targeturl'];
//將所有傳遞過(guò)來(lái)的參數(shù)列出來(lái)
$par = array();
$GetPost = array_merge($_POST,$_GET);
foreach($GetPost As $Key=>$Value){
?if($Key!='targeturl'){
? $Value = str_replace("%25","%",$Value);
? array_push($par,($Key . "=" . $Value));
?}
}
//判斷目標(biāo)URL是否帶有?(即是否帶有參數(shù))
$cc = strpos($url,"?") ? "&" : "?";
//重組URL
$geturl = !$par ? $url : $url.$cc.implode("&",$par);
//抓取重組后的URL頁(yè)面內(nèi)容
$snoopy = new Snoopy;
$snoopy->fetch($geturl);
//替換目標(biāo)內(nèi)容中腳本里有可能替換父窗口地址的代碼
$org = str_replace("top.location","top.title",$snoopy->results);
//嘗試轉(zhuǎn)換目標(biāo)內(nèi)容編碼到UTF-8
$opt = iconv("gbk","utf-8",$org);
//判斷目標(biāo)內(nèi)容編碼為GBK或UTF-8
$ec = strlen($opt)?"gbk":"utf-8";
?>
相關(guān)閱讀
-
熱門(mén)文章
plsql developer怎么連接數(shù)據(jù)庫(kù)-plsql developer連接數(shù)據(jù)庫(kù)方法
2021年最好用的10款php開(kāi)發(fā)工具推薦
php利用淘寶IP庫(kù)獲取用戶(hù)ip地理位置
在 PHP 中使用命令行工具
人氣排行
詳解ucenter原理及第三方應(yīng)用程序整合思路、方法
plsql developer怎么連接數(shù)據(jù)庫(kù)-plsql developer連接數(shù)據(jù)庫(kù)方法
PHP中防止SQL注入攻擊
PHP會(huì)話Session的具體使用方法解析
PHP運(yùn)行出現(xiàn)Notice : Use of undefined constant 的解決辦法
PHP如何清空mySQL數(shù)據(jù)庫(kù)
CakePHP程序員必須知道的21條技巧
PHP采集圖片實(shí)例(PHP采集)
|