博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【总结】清除webbrowser cookie/session的6种方法
阅读量:2051 次
发布时间:2019-04-28

本文共 4449 字,大约阅读时间需要 14 分钟。

下面是我测试下来的6种清除webbrowser中cookie的6种方法:

往下拉有详细用法

//方法一:调用 wininet.dll清除cookie (推荐)SuppressWininetBehavior();//方法二:删除用户登录后的信息,这里相当于浏览器的注销功能,使用的是ie自带的功能 (推荐)HtmlDocument document = wb.Document;document.ExecCommand("ClearAuthenticationCache", false, null);//方法三:删除本机cookie 此方法会弹出ie清除cookie的弹出框//Temporary Internet Files  (Internet临时文件)//RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8//Cookies//RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2//History (历史记录)//RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1//Form. Data (表单数据)//RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16//Passwords (密码)//RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32//Delete All  (全部删除)//ShellExecute(IntPtr.Zero, "open", "rundll32.exe", " InetCpl.cpl,ClearMyTracksByProcess 2", "", ShowCommands.SW_HIDE);ShellExecute(IntPtr.Zero, "open", "rundll32.exe", " InetCpl.cpl,ClearMyTracksByProcess 255", "", ShowCommands.SW_HIDE);//方法四:使用webbrowser自带的清coookie的方法 (不推荐,清不掉session,实测无效)wb.Document.Cookie.Remove(0, (wb.Document.Cookie.Count() - 1));//方法五:使用js清除cookie (不推荐,清不掉session)wb.Navigate("javascript:void((function(){var a,b,c,e,f;f=0;a=document.cookie.split('; ');for(e=0;e

方法一:

[System.Runtime.InteropServices.DllImport("wininet.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto, SetLastError = true)]        public static extern bool InternetSetOption(int hInternet, int dwOption, IntPtr lpBuffer, int dwBufferLength);/// /// 使用InternetSetOption操作wininet.dll清除webbrowser里的cookie///private static unsafe void SuppressWininetBehavior(){    /* SOURCE: http://msdn.microsoft.com/en-us/library/windows/desktop/aa385328%28v=vs.85%29.aspx        * INTERNET_OPTION_SUPPRESS_BEHAVIOR (81):        *      A general purpose option that is used to suppress behaviors on a process-wide basis.        *      The lpBuffer parameter of the function must be a pointer to a DWORD containing the specific behavior to suppress.        *      This option cannot be queried with InternetQueryOption.        *        * INTERNET_SUPPRESS_COOKIE_PERSIST (3):        *      Suppresses the persistence of cookies, even if the server has specified them as persistent.        *      Version:  Requires Internet Explorer 8.0 or later.        */    int option = (int)3/* INTERNET_SUPPRESS_COOKIE_PERSIST*/;    int* optionPtr = &option;    bool success = InternetSetOption(0, 81/*INTERNET_OPTION_SUPPRESS_BEHAVIOR*/, new IntPtr(optionPtr), sizeof(int));    if (!success)    {        MessageBox.Show("Something went wrong ! Clear Cookie Failed!");    }}

方法二:

就只有这一句就好了:

//方法二:删除用户登录后的信息,这里相当于浏览器的注销功能,使用的是ie自带的功能 (推荐)HtmlDocument document = wb.Document;document.ExecCommand("ClearAuthenticationCache", false, null);

方法三:

//方法三:删除本机cookie 此方法会弹出ie清除cookie的弹出框//Temporary Internet Files  (Internet临时文件)//RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8//Cookies//RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2//History (历史记录)//RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1//Form. Data (表单数据)//RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16//Passwords (密码)//RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32//Delete All  (全部删除)//ShellExecute(IntPtr.Zero, "open", "rundll32.exe", " InetCpl.cpl,ClearMyTracksByProcess 2", "", ShowCommands.SW_HIDE);ShellExecute(IntPtr.Zero, "open", "rundll32.exe", " InetCpl.cpl,ClearMyTracksByProcess 255", "", ShowCommands.SW_HIDE);
ShellExecute方法:
public enum ShowCommands : int{    SW_HIDE = 0,    SW_SHOWNORMAL = 1,    SW_NORMAL = 1,    SW_SHOWMINIMIZED = 2,    SW_SHOWMAXIMIZED = 3,    SW_MAXIMIZE = 3,    SW_SHOWNOACTIVATE = 4,    SW_SHOW = 5,    SW_MINIMIZE = 6,    SW_SHOWMINNOACTIVE = 7,    SW_SHOWNA = 8,    SW_RESTORE = 9,    SW_SHOWDEFAULT = 10,    SW_FORCEMINIMIZE = 11,    SW_MAX = 11}[DllImport("shell32.dll")]static extern IntPtr ShellExecute(IntPtr hwnd, string lpOperation, string lpFile, string lpParameters, string lpDirectory, ShowCommands nShowCmd);

方法四:

//方法四:使用webbrowser自带的清coookie的方法 (不推荐,清不掉session,实测无效)wb.Document.Cookie.Remove(0, (wb.Document.Cookie.Count() - 1));

方法五:

//方法五:使用js清除cookie (不推荐,清不掉session)wb.Navigate("javascript:void((function(){var a,b,c,e,f;f=0;a=document.cookie.split('; ');for(e=0;e

将 wb.Navigate("javascript:void((function(){。。。}里的内容换成下面注释掉的代码,写好你要清cookier 的domain然后就可以清了,但清不掉session,这个是从外国网站上看来的,实际无效!

方法六:

//方法六:使用InternetSetCookie给cookie赋null值 (不推荐)//也可以给此Cookie赋空值:InternetSetCookie//InternetSetCookie("http://.qq.com/", NULL, "uin=; PATH=/; DOMAIN=qq.com");

关于InternetSetCookie这个方法自己网上搜索一下.

转载地址:http://luulf.baihongyu.com/

你可能感兴趣的文章
Dockerd 资源泄露怎么办
查看>>
高性能 Nginx HTTPS 调优 - 如何为 HTTPS 提速 30%
查看>>
在 Kubernetes 中部署高可用 Harbor 镜像仓库
查看>>
容器网络一直在颤抖,罪魁祸首竟然是 ipvs 定时器
查看>>
阿里宣布拆中台,首当其冲就是优化数据中台架构?
查看>>
Cilium 源码解析:Node 之间的健康探测(health probe)机制
查看>>
前几天是谁说 WireGuard 不香的?看我今天怎么怼你
查看>>
配置 containerd 镜像仓库完全攻略
查看>>
iTerm 2 使用触发器和 expect 实现 ssh 自动登录
查看>>
Kubernetes Pod 突然就无法挂载 Ceph RBD 存储卷了。。
查看>>
解决 Kubernetes 部署 Metrics Server 无法访问 Apiserver 问题
查看>>
AWS 容器三大新品:K8s 发行版,免费镜像库和 “Game Changer”AWS Proton
查看>>
多平台容器镜像构建就看这一篇
查看>>
macOS Big Sur 使用全新虚拟化框架创建超轻量虚拟机!
查看>>
16 岁高中生成功在 iPhone 7 上安装 Ubuntu 20.04 桌面!
查看>>
两个程序都要用同一个端口,怎么解?
查看>>
有了这款图形管理界面,一分钟内配置 10 个 WireGuard 客户端不是梦
查看>>
Containerd镜像lazy-pulling解读
查看>>
Grafana 教程 - 构建你的第一个仪表盘
查看>>
由 OOM 引发的 ext4 文件系统卡死
查看>>