首頁 > 後端開發 > PHP問題 > php取得網頁內容注意什麼

php取得網頁內容注意什麼

王林
發布: 2023-02-25 09:24:01
原創
2739 人瀏覽過

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板