php訪問url的四種方式
1.fopen方式
//訪問指定URL函數
- function access_url($url) {
- if ($url=='') return false;
- $fp = fopen($url, 'r') or exit('Open url faild!');
- if($fp){
- while(!feof($fp)) {
- $file.=fgets($fp)."";
- }
- fclose($fp);
- }
- return $file;
- }
2.file_get_contents方式(打開遠程文件的時候會造成CPU飆升。file_get_contents其實也可以post)
- $content = file_get_contents("http://www.google.com");
3.curl方式
- function curl_file_get_contents($durl){
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $durl);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 獲取數據返回
- curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ; // 在啟用 CURLOPT_RETURNTRANSFER 時候將獲取數據返回
- $r = curl_exec($ch);
- curl_close($ch);
- return $r;
- }
4.fsockopen方式(只能獲取網站主頁信息,其他頁面不可以)
- $fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
- if (!$fp) {
- echo "$errstr ($errno)<br />\n";
- } else {
- $out="GET / HTTP/1.1\r\n";
- $out.="Host: www.example.com\r\n";
- $out.="Connection: Close\r\n\r\n";
- fwrite($fp, $out);
- while (!feof($fp)) {
- echo fgets($fp, 128);
- }
- fclose($fp);
- }