2012-04-03 45 views
1

我試圖在php.ini文件中更改用戶代理,如下所示。在php.ini中更改用戶代理

user_agent="Mozilla/5.0 (iPhone Simulator; U; 
CPU iPhone OS 4_3_2 like Mac OD X; en-us) 
AppleWebKit/535.17.9(KHTML, like Gecko) 
Version/5.0.2 Mobile/8H7Safari/6533.18.5" 

後,當我檢查用戶代理在我的PHP文件與下面的命令,這表明用戶代理一直沒有變化。

echo $_SERVER['HTTP_USER_AGENT']; 

這表明:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)

這仍然是我在php.ini文件中設置沒有iphone用戶代理。

所以請幫助我如何在php.ini文件中設置用戶代理,它將我的瀏覽器請求切換爲iphone瀏覽器請求。

我也嘗試過以下命令。

ini_set('user_agent', 'Mozilla/5.0 (iPhone Simulator; U; 
    CPU iPhone OS 4_3_2 like Mac OD X; en-us) 
     AppleWebKit/535.17.9 (KHTML, like Gecko) Version/5.0.2 
     Mobile/8H7 Safari/6533.18.5'); 

這也給出相同的結果,我無法切換到iphone瀏覽器請求。

+0

我很確定php.ini中的用戶代理設置是PHP在通過HTTP請求遠程文件時發送的內容。 HTTP_USER_AGENT變量是客戶端瀏覽器向您發送的內容。如果您想更改您的用戶代理,則需要爲瀏覽器獲取用戶代理切換擴展。 (Firefox有一個,名爲「UserAgentSwitcher」) – Cfreak 2012-04-03 16:38:19

回答

4

恐怕你誤會了。在php.ini中的user_agent設置與$_SERVER['HTTP_USER_AGENT]無關。 php.ini中的設置用作PHP執行HTTP請求(例如使用cURL)時的默認設置。

$_SERVER['HTTP_USER_AGENT']包含Web瀏覽器發送的用戶代理及其對PHP腳本的請求。這就是爲什麼它顯示MSIE,因爲你正在查看MSIE中的頁面。

如果您想從您的瀏覽器發送不同的用戶代理,您必須使用瀏覽器插件,除非瀏覽器允許您自由修改它。例如像this