本篇文章是對file_get_contents模仿瀏覽器頭(user_agent)獲取數據進行了詳細的分析介紹,需要的朋友參考下
什么是user agent
User Agent中文名為用戶代理,簡稱 UA,它是一個特殊字符串頭,使得服務器能夠識別客戶使用的操作系統及版本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等。
網站可以通過判斷不同UA來呈現不同的網站,例如手機訪問和PC訪問顯示不同的頁面。
PHP在用file_get_contents函數采集網站時,有時會明明用瀏覽器可以看,但就是采不到任何內容。
這很有可能是服務器上做了設置,根據 User_agent判斷是否為正常的瀏覽器請求,因為默認PHP的file_get_contents函數是不發送ua的。
如果要采集這樣的網站,我們就必須要讓PHP模擬瀏覽器發送UA,欺騙網站返回正常內容。
實現如下:
ini_set('user_agent', 'Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 4 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19');
這里 我模擬的是谷歌瀏覽器.