【问题标题】:Clear web browser cookies winforms C#清除 Web 浏览器 cookie winforms C#
【发布时间】:2018-09-02 00:48:05
【问题描述】:

如何清除 web 浏览器控件 winforms C# 的 cookie,有没有办法在 winforms web 浏览器控件中清除有问题的 cookie

【问题讨论】:

    标签: c# .net winforms webbrowser-control


    【解决方案1】:

    您可以在导航到该站点之前禁用缓存(包括 cookie)。为此,您可以使用InternetSetOption API 函数并将INTERNET_OPTION_SUPPRESS_BEHAVIOR(81) 选项的值设置为INTERNET_SUPPRESS_COOKIE_PERSIST(3) 值。

    示例

    以下示例的工作方式类似于开始一个新会话。虽然我在我的机器上登录了outlook.com,但是当我打开这个应用程序并在禁用cookies和缓存后浏览outlook.com时,它就像开始一个新会话一样,我需要登录到outlook.com:

    //using System.Runtime.InteropServices;
    [DllImport("wininet.dll", SetLastError = true, CharSet = CharSet.Auto)]
    public static extern bool InternetSetOption(IntPtr hInternet, int dwOption,
        IntPtr lpBuffer, int dwBufferLength);
    private void Form1_Load(object sender, EventArgs e)
    {
        var ptr = Marshal.AllocHGlobal(4);
        Marshal.WriteInt32(ptr, 3);
        InternetSetOption(IntPtr.Zero, 81, ptr, 4);
        Marshal.Release(ptr);
        webBrowser1.Navigate("https://outlook.com");
    }
    

    要了解有关这些标志的更多信息,请查看Windows Internet Option Flags。

    注意:您可以在我的另一篇文章中找到此答案的 VB.NET 版本 here。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-02
      • 2021-07-07
      • 1970-01-01
      • 2016-07-16
      • 2010-12-19
      • 2014-04-04
      • 1970-01-01
      • 2011-01-26
      相关资源
      最近更新 更多