本文主要介紹給大家關於php中請求url的五種方法,分別是用fopen()函數、file()函數、file_get_contents()函數、curl() 請求遠端url資料和exec() 執行命令列命令,下面來一起看看吧,希望能幫助大家。
五種方法:
前三種都是php基本的檔案運算子
curl( )是php擴充要開啟,linux下需要安裝
exec()執行的是linux指令列下的指令wget下載遠端檔案
其中wget指令在本地虛機測試請求http://www.php.cn/時,沒有成功,在遠端伺服器上卻可以,考慮時DNS解析的問題,於是直接請求IP成功下載了index.html的文件。
這裡只提供了方法,其中的優缺點需要詳細了解每一個方法的功能和缺陷。
一、fopen()函數
$file = fopen("http://www.php.cn/", "r") or die("打开远程文件失败!"); while (!feof($file)) { $line = fgets($file, 1024); //使用正则匹配标题标记 if (preg_match("/<title>(.*)<\/title>/i", $line, $out)) { $title = $out[1]; //将标题标记中的标题字符取出 break; //退出循环,结束远程文件读取 } } fclose($file);
二、file()函數
$lines = file("http://www.php.cn/php-weizijiaocheng-386441.html"); readfile(http://www.php.cn/php-weizijiaocheng-386441.html);
三、file_get_contents()函數
$content = file_get_contents(http://www.php.cn/php-weizijiaocheng-386441.html);
4、curl()請求遠端url資料
$url = "http://www.php.cn/"; $ch = curl_init(); $timeout = 5; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $contents = curl_exec($ch); curl_close($ch);
五、exec() 執行命令列指令
//exec("wget 220.181.111.188"); shell_exec("wget 220.181.111.188");
相關推薦:
以上是php請求url的方法小結的詳細內容。更多資訊請關注PHP中文網其他相關文章!