作業系統:Windows 7/8
瀏覽器:Internet Explorer 11
平台:x86
如何編輯電腦上的用戶代理字串以供伺服器端程式碼和 Web 伺服器日誌普遍查看?這需要是一個永久的、可部署的解決方案,因此使用開發人員工具之類的方法可能無法長期發揮作用。
我能夠設定/修改 Internet Explorer 使用者代理字串以便遠端 Web 伺服器可以看到它的唯一方法是使用以下註冊表項\值:
Key: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Version
Value: SomeTestString
Data: NULL
以上顯然是群組原則設定所使用的內容Windows Components\Internet Explorer\Customize User Agent String
。
如果您添加如上所示的鍵/值,您的用戶代理將顯示為類似Mozilla/5.0 (SomeTestString; Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
不幸的是,這前置添加到用戶代理字串中的自訂字串,這會破壞許多 Google 網站和 Netflix(可能還有更多)
使用我發現的另一個註冊表項/值將透過 JavaScript 查詢顯示使用者代理字串,但它不會出現在網站日誌中(對伺服器不可見):
Key: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent
Value: SomeTestString
Data: NULL
如果您查看 Web 伺服器的日誌,您只會看到類似這樣的內容:Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
,但是如果您點擊使用 JavaScript 來顯示使用者代理程式的頁面,您會看到類似這樣的內容:Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; Tablet PC 2.0; SomeTestString; rv:11.0) like Gecko
。
任何建議都是值得讚賞的,因為我被一個字串困住了,如果使用的話,它會破壞一些網站。請注意,我們確實需要在使用者代理字串中指定自訂項目以支援我們無法控制的第 3 方平台。
答案1
答案2
您可以使用 IE 中的「開發人員工具」。
只需按F12來激活它。
在舊版本上,它位於工具選單,更改用戶代理字串並定制它。
對於較新的,它位於模擬菜單。
經過一番研究,我找到了一些註冊表項,您可以調整它們來更改部分UA 字串。
A乾淨的Win7上IE11使用Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko
Win8使用NT 6.3
一個通常會Touch
在某處添加一個。
我認為那些預設值無法透過註冊表更改,不過我認為您可以.NET
透過刪除下面的條目來刪除它添加的大部分內容和其他內容
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform]
只需考慮到,compatibility mode
在 IE 上也會更改 UA 字串以顯示先前的 IE 版本,以「強制」伺服器認為它是compatibility mode
較舊的版本(我認為它使用 IE6 或 7),所以如果有人需要使用它來加載網頁,也許您想要的大部分內容將變得毫無用處。