Web浏览器控件的行为不同于IE c#

时间:2018-11-05 19:38:44

标签: c# internet-explorer caching cookies webbrowser-control

因此,我有WebBrowser应用程序,该应用程序不断访问网站以执行某些操作。 问题是在某些时候该网站开始对我的WebBrowser不可用,但我仍然可以从IE访问它。 这与该网站的“安全算法”受到一些惩罚有关,但是我想知道为什么在我的WebBrowser被“禁止”时可以使用IE访问它吗?我试图清除缓存,cookie(以编程方式),通过HideMyAss或TunnelBear更改IP,但没有结果。我还强迫WebBrowser使用最新的IE版本。结果是我有一段时间无法通过Web浏览器访问此网站,但可以通过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);

该网站如何识别我的Web浏览器控件?我还能清除/处置不被识别的东西吗?

1 个答案:

答案 0 :(得分:1)

  

该网站如何识别我的Web浏览器控件?还有吗   我可以清除/处置不被认可的东西?

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

此外,您还可以参考this thread并检查其是否使用属性来检测是否从WebBrowser控件中打开了网页。