代码之家  ›  专栏  ›  技术社区  ›  KKKk

webbrowser控件的行为不同于IE c#

  •  0
  • KKKk  · 技术社区  · 7 年前

    所以我有了我的WebBrowser应用程序,它不断地访问网站来做一些事情。。 问题是在某个时候,我的网络浏览器开始无法访问这个网站,但我仍然可以通过IE访问它。 这与该网站“安全算法”的一些惩罚有关,但我想知道为什么在我的网络浏览器被“禁止”的情况下,我可以用IE访问它?我试图清除缓存、cookies(通过编程)、通过Hidemyas或TunnelBear更改我的IP,但没有结果。我还强迫我的网络浏览器使用最新的IE版本。结果是,我有一段时间不能通过我的网络浏览器访问这个网站,但我可以通过IE。。

            int BrowserVer, RegVal;
    
            using (WebBrowser Wb = new WebBrowser())
                BrowserVer = Wb.Version.Major;
    
            // set the appropriate IE version
            if (BrowserVer >= 11)
                RegVal = 11001;
            else if (BrowserVer == 10)
                RegVal = 10001;
            else if (BrowserVer == 9)
                RegVal = 9999;
            else if (BrowserVer == 8)
                RegVal = 8888;
            else
                RegVal = 7000;
    
            // set the actual key
            using (RegistryKey Key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION", RegistryKeyPermissionCheck.ReadWriteSubTree))
                if (Key.GetValue(System.Diagnostics.Process.GetCurrentProcess().ProcessName + ".exe") == null)
                    Key.SetValue(System.Diagnostics.Process.GetCurrentProcess().ProcessName + ".exe", RegVal, RegistryValueKind.DWord);
    

    该网站如何识别我的网络浏览器控制?还有什么我可以清除/处理的不被识别的吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Zhi Lv    7 年前

    该网站如何识别我的网络浏览器控制?还有别的吗 我可以清除/处理不被识别的信息吗?

    您可以在使用IE和浏览器控件访问网站时检查HTTP请求,并比较请求URL以检查它是否将查询字符串附加到URL。

    此外,你也可以参考 this thread 并检查它是否使用属性来检测网页是否从WebBrowser控件打开。