我想在浏览时更改我的用户代理并在网站上显示更改。
我已经有一个打印UserAgent的网站,只需使用JS document.writeln(navigator.userAgent)
。
当我使用Chrome加载此页面时,它会显示我的默认UA(假设为abc
)。当我将其更改为xyz
并刷新(Ctrl + F5)时,它会显示新的UA xyz
。
太棒了,这正是我想要的!
现在如果我对Firefox做同样的事情,显示的UA将不会更新。
所以我加载了abc
作为我的UA的页面,我将其更改为xyz
,刷新网站(再次没有缓存)但它仍显示abc
。
Apache日志和Wireshark都显示在HTTP标头中传输的UA实际上是新的xyz
。
你们有谁知道这里发生了什么?
答案 0 :(得分:1)
这是设计的。来自MDN:
在Firefox中,您可以在about:config中更改首选项general.useragent.override。一些Firefox扩展会这样做;但是,这只会更改发送的HTTP标头,并且不会影响JavaScript代码执行的浏览器检测。
答案 1 :(得分:0)
正如你们中的一些人建议我已经阅读了导航器对象,而不是实际的HTTP标头,谢谢!
我用PHP解决了它:
<?php
$header=getallheaders();
foreach ($header as $name => $value)
{
echo "$name: $value<br/>";
}
?>
或者只是
<?php
$header=getallheaders();
$ua=$header["User-Agent"];
echo "$ua<br/>";
?>