2010-12-05 52 views
6

只是想知道什麼樣的瀏覽器類型的VB.NET讀取時,它會訪問一個網頁。例如,在我的網站上,它顯示了訪問我的網站的所有不同瀏覽器的細分情況。WebBrowser控件報告了哪些UserAgent?

+0

這是當你做一個Web請求? – Phill 2010-12-05 08:17:09

回答

13

您沒有爲您的問題提供很多背景知識,但我認爲您正在討論在使用.NET Framework內置的WebBrowser control時發送的User Agent string

因爲該控件只是使用Internet Explorer來呈現頁面,所以您會看到一個User Agent字符串,與您在同一臺計算機上使用IE訪問該頁面時所發現的非常相似。 IE字符串一般自我報告爲Mozilla/4.0 compatible,但也給出了MSIE的特定版本並列出了當前版本的Windows。

例如,64位版本的Windows Server 2008 R2的使用.NET Framework 4.0版本下運行,我確定每當我上網從WebBrowser控制頁面如下:

Mozilla的/ 4.0(兼容; MSIE 7.0; Windows NT的6.1)

相比之下,IE瀏覽器在同一臺機器上顯示這個作爲用戶代理字符串:

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)\軟件\微軟\的Internet Explorer \ MAIN \ FeatureControl \ FEATURE_BROWSER_EMULATION] 「MyApplication.exe」= DWORD 8000(十六進制:0x1F40)

要IE7標準模式下運行,使用下面的註冊表值:

[(HKEY_CURRENT_USER或HKEY_LOCAL_MACHINE)\軟件\微軟\的Internet Explorer \ MAIN \ FeatureControl \ FEATURE_BROWSER_EMULATION] 「MyApplication.exe」= DWORD 7000(十六進制:0x1B58)

+0

這太棒了!馬上幫助我。我想知道是否有任何其他方式**比編輯註冊表? – wpfwannabe 2012-11-29 22:22:22