首頁  >  文章  >  後端開發  >  php取得網頁內容注意什麼

php取得網頁內容注意什麼

王林
王林原創
2019-09-27 11:58:142656瀏覽

php取得網頁內容注意什麼

PHP取得網頁內容注意事項

#1、網路會出錯,任何錯誤都可能。例如機器宕了,網路線斷了,網域名稱出錯了,網路超時了,頁面沒有了,網站跳轉了,服務被禁了,主機負載不夠了…

2、伺服器加上了限制,只讓常見瀏覽器存取

3、伺服器加上了防盜鏈的限制

4、某些網站不管你HTTP請求裡有沒有Accept-Encoding頭部,也不管你頭部具體內容是什麼,反正總給你發gzip後的內容

5、URL連結千奇百怪,帶漢字的也罷了,有的甚至還有回車換行

#6、某有些網站HTTP頭部裡有一個Content-Type,網頁裡有好幾個Content-Type,更過分的是,各個Content-Type還不一樣,最過分的是,這些Content-Type可能都不是正文裡使用的Content-Type,從而導致亂碼

7、網絡鏈接很慢,乘分析幾千個頁面的時間,建議你可以好好吃頓飯去了

PHP獲取網頁內容的方法

方法一、使用file_get_contents方法實作

$url = "http://news.sina.com.cn/c/nd/2016-10-23/doc-ifxwztru6951143.shtml";
    $html = file_get_contents($url);
    //如果出现中文乱码使用下面代码
    //$getcontent = iconv("gb2312", "utf-8",$html);
    echo "<textarea style=&#39;width:800px;height:600px;&#39;>".$html."</textarea>";

方法二、使用curl實作

$url = "http://news.sina.com.cn/c/nd/2016-10-23/doc-ifxwztru6951143.shtml";
    
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$html = curl_exec($ch);
curl_close($ch);

echo "<textarea style=&#39;width:800px;height:600px;&#39;>".$html."</textarea>";
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

加上這句程式碼,表示如果請求被重定向時,可以存取到最終的請求頁面,不然請求的結果會顯示如下內容:

<head><title>Object moved</title></head>
<body><h1>Object Moved</h1>This object may be found <a href="some link." rel="external nofoll

推薦教學:PHP影片教學

#

以上是php取得網頁內容注意什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn