2012-04-03 72 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