.net 请求浏览器返回InternetExplorer而不是带有默认用户代理的IE
根据Microsoft的文档,您可以使用以下代码检查Internet Explorer.net 请求浏览器返回InternetExplorer而不是带有默认用户代理的IE,.net,internet-explorer,user-agent,httpbrowsercapabilities,.net,Internet Explorer,User Agent,Httpbrowsercapabilities,根据Microsoft的文档,您可以使用以下代码检查Internet Explorer System.Web.HttpBrowserCapabilities myBrowserCaps = Request.Browser; if (((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).Browser.ToUpper().IndexOf("IE") >= 0) { labelText = "Browser is
System.Web.HttpBrowserCapabilities myBrowserCaps = Request.Browser;
if (((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).Browser.ToUpper().IndexOf("IE") >= 0)
{
labelText = "Browser is Internet Explorer.";
}
else
{
labelText = "Browser is not Internet Explorer.";
}
在我的MVC应用程序中,以下代码返回的是InternetExplorer
NOTIE
string browser = HttpContext.Request.Browser.Browser;
使用IE的开发者工具,我可以将用户代理字符串更改为除Default
之外的任何IE,它们返回IE
,如文档所述,但默认返回InternetExplorer
他们为什么要将该字符串更改为
InternetExplorer
?有没有任何文档说明他们为什么会这样做?有几个客户因为这个原因被我的门户网站阻止了(上百个用户正在使用IE11)
这两个客户的ie版本是Explorer 11.0.9600.17691 CO和11.0.9600.97843IS
这些是IE的自定义版本:
从Oracle VM VirtualBox下载并安装Windows 7 IE11
然后下载了IEAK。英语。奇怪的是,安装程序使c:\builds\07072015没有语言下拉列表。我进入控制面板,选择了英语(切换)。打开向导时,下拉菜单起作用
跑步:
C:\builds\07082015\INS\WIN32\u WIN7\EN-US\IE11安装程序已满
只是浏览了一下向导,没有添加或自定义任何内容。
重新启动后:
IE现在上升到11.0.9600.17420IS
指向安装了转储Request.Browser.Browser
的开发人员站点,它出现了InternetExplorer
。。。不是即
这是Win7 64位集成版和Windows 2k12上的.NET4.0(未选中4.5、4.5.1等)。出于某种原因,它检测IEAK的方式不同
解决方案很简单,我会让代码也允许
仅供参考:useragentstring.com字符串看起来相同
Mozilla/5.0(WindowsNT6.1;Trident/7.0;rv:11.0)类似Gecko
IEAK (Microsoft Internet Explorer Administration Kit)
IC = Internet content provider
IS = Internet service provider
CO = Corporate administrator