只是想知道VB.NET在访问网页时读取的浏览器类型。例如,在我的网站上,它显示了访问我网站的所有不同浏览器的细分。
答案 0 :(得分:12)
您没有为您的问题提供太多上下文,但我假设您在讨论使用.NET Framework中内置的User Agent string时发送的WebBrowser
control。
由于该控件仅使用Internet Explorer呈现页面,因此您将看到一个用户代理字符串,与您在同一台计算机上使用IE访问该页面时所发现的非常相似。 IE字符串通常将自身报告为Mozilla/4.0 compatible
,但也提供特定版本的MSIE并列出当前版本的Windows。
例如,在.NET Framework版本4.0的64位版本的Windows Server 2008 R2下运行,每当我浏览WebBrowser
控件中的页面时,我都会被识别为:
Mozilla / 4.0(兼容; MSIE 7.0; Windows NT 6.1)
相比之下,同一台计算机上的Internet Explorer将其显示为用户代理字符串:
Mozilla / 4.0(兼容; MSIE 8.0; Windows NT 6.1)
唯一的区别是.NET WebBrowser
控件将自身报告为Internet Explorer版本7.0(MSIE 7.0
),而不是计算机上安装的版本8.0。这是因为出于兼容性原因,控件使用IE 7渲染引擎,而不是IE 8中的渲染引擎。如果需要,可以change this编辑注册表值。
要在IE8标准模式下运行WebBrowser
控件,请在注册表中使用以下新值:
[(HKEY_CURRENT_USER或HKEY_LOCAL_MACHINE)\ Software \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION] “MyApplication.exe”= dword 8000(十六进制:0x1F40)
要在IE7标准模式下运行,请使用以下注册表值:
[(HKEY_CURRENT_USER或HKEY_LOCAL_MACHINE)\ Software \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION] “MyApplication.exe”= dword 7000(十六进制:0x1B58)