程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 解析file_get_contents模仿浏覽器頭(user_agent)獲取數據

解析file_get_contents模仿浏覽器頭(user_agent)獲取數據

編輯:關於PHP編程

    什麼是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/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; 4399Box.560; .NET4.0C; .NET4.0E)');
    這是模擬IE8環境下的UA,當然你也可以換成其他的。比如中火狐
    也可以這樣讀取:

    復制代碼 代碼如下:


    $opts = array(
    'http'=>array(
    'method'=>"GET",
    'header'=>"Host: zh.wikipedia.orgrn" .
    "Accept-language: zh-cnrn" .
    "User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; 4399Box.560; .NET4.0C; .NET4.0E)" .
    "Accept: *//*"
    )
    );

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved