下面是我测试下来的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<a.length&&a[e];e++){f++;for(b='.'+location.host;b;b=b.replace(/^(?:%5C.|[^%5C.]+)/,'')){for(c=location.pathname;c;c=c.replace(/.$/,'')){document.cookie=(a[e]+'; domain='+b+'; path='+c+'; expires='+new Date((new Date()).getTime()-1e11).toGMTString());}}}})())");//var a,b,c,e,f;//f=0;//a=document.cookie.split('; ');//b='.'+'baidu.com';b='.'+'www.baidu.com';//for(e=0;e<a.length;e++){//    //b='.'+location.host;//    b=b.replace(/^(?:%5C.|[^%5C.]+)/,'');//    c=location.pathname;//    c=c.replace(/.$/,'');//    ck = a[e]+'; domain='+b+'; path='+c+'; expires='+new Date((new Date()).getTime()-1e11).toGMTString();//    console.log(ck);//    document.cookie=ck;//}//方法六:使用InternetSetCookie给cookie赋null值 (不推荐)//也可以给此Cookie赋空值:InternetSetCookie//InternetSetCookie("http://.qq.com/", NULL, "uin=; PATH=/; DOMAIN=qq.com");

方法一:

    [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);/// <summary>/// 使用InternetSetOption操作wininet.dll清除webbrowser里的cookie/// </summary>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<a.length&&a[e];e++){f++;for(b='.'+location.host;b;b=b.replace(/^(?:%5C.|[^%5C.]+)/,'')){for(c=location.pathname;c;c=c.replace(/.$/,'')){document.cookie=(a[e]+'; domain='+b+'; path='+c+'; expires='+new Date((new Date()).getTime()-1e11).toGMTString());}}}})())");//var a,b,c,e,f;//f=0;//a=document.cookie.split('; ');//b='.'+'baidu.com';b='.'+'www.baidu.com';//for(e=0;e<a.length;e++){//    //b='.'+location.host;//    b=b.replace(/^(?:%5C.|[^%5C.]+)/,'');//    c=location.pathname;//    c=c.replace(/.$/,'');//    ck = a[e]+'; domain='+b+'; path='+c+'; expires='+new Date((new Date()).getTime()-1e11).toGMTString();//    console.log(ck);//    document.cookie=ck;//}

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

方法六:

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

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

清除webbrowser cookie/session的6种方法相关推荐

  1. 【总结】清除webbrowser cookie/session的6种方法

    下面是我测试下来的6种清除webbrowser中cookie的6种方法: 往下拉有详细用法 //方法一:调用 wininet.dll清除cookie (推荐) SuppressWininetBehav ...

  2. cookie注销的几种方法与注意事项

    2019独角兽企业重金招聘Python工程师标准>>> 之前做一个单点登陆的,把生成的token字符串存放到cookie中.退出的时候要清理cookie信息. 清除cookie有如下 ...

  3. css清除浮动大全,共8种方法。

    本文转载自:http://www.jb51.net/css/173023.html 清除浮动是每一个 web前台设计师必须掌握的机能.css清除浮动大全,共8种方法. 浮动会使当前标签产生向上浮的效果 ...

  4. linux-CentOS6.4安装Memcached+memcached扩展+安装memcache扩展+Memcache+mecached同步SESSION的几种方法

    一.编译环境的准备 yum install gcc   yum install gcc-c++ libstdc++-devel   yum install zlib-devel 二.源码包准备 wge ...

  5. [转]快速清除SQL Server日志的两种方法

    日志文件满而造成SQL数据库无法写入文件时,可用两种方法: 第一种方法:清空日志. 1.打开查询分析器,输入命令 以下是引用片段: DUMP TRANSACTION 数据库名 WITH NO_LOG ...

  6. 清除浮动最常用的四种方法

    1.为什么要清除浮动 开发过程中,浮动是需要掌握的一个技能,页面布局当中,在无法确定子元素的高度(height)时,我们无法给父级标签一个固定的高度(height),我们想要的是,由子元素的高度去控制 ...

  7. cookie获取的两种方法

    获取cookie的核心目的无非就是实现登陆,一般来说我们实现请求大致也有两种方式,第一种是selenium,第二种是包含requests,urllib等的其他类型,那么cookie的获取也是针对这样的 ...

  8. html清除图片上下间距,css - 三种方法解决LI和内部Img的上下间距问题

    在火狐浏览器和谷歌浏览器(qq浏览器,谷歌内核)bug类似这张图: img的高度是190*127 但是放到li中,li并没有设置高度,却和内部的图片之间上下错位. 若强行给li设置高度127,他和im ...

  9. Struts2中使用Session的两种方法

    在Struts2里,如果需要在Action中使用到session,可以使用下面两种方式: 通过ActionContext 类中的方法getSession得到 Action实现org.apache.st ...

最新文章

  1. 下一代超大规模软件定义网络技术实践
  2. Java 7中的Try-with-resources
  3. SSO模型及单点登录SSO技术选型
  4. java wmi远程桌面服务器_WMI实现远程监控多台windows服务器
  5. go build编译不同环境
  6. 百度贴吧发帖软件_贴吧自动发帖软件
  7. 使用javascript实现浏览器全屏
  8. 走向.NET架构设计—第五章—业务层模式,原则,实践(后篇)
  9. 浏览器 刷新页面后回到顶部_当你在浏览器中,忘记了曾经的登录密码怎么办......
  10. re.split() 根据句子中的序号进行切分
  11. iOS键盘高度自适应(中英文输入)
  12. 你是否真的适合搞NDK开发?
  13. Yii2中使用自定义的数据库
  14. 遥感原理与应用网络课程学习
  15. SSM 实现学生成绩管理系统(完整代码)
  16. 在win7中chm打不开的多种解决方法
  17. 可能是全网唯一办法:解决粘滞键(shift)键一直按下,在配置中心无法关闭_v1.0.0
  18. dva的用法_dva入门讲解
  19. SpringCloud Netflix---Eureka服务注册
  20. Windows 2012 R2服务器的80端口被IIS占用的最好处理办法

热门文章

  1. OpenCV在G-API上移植各向异性图像分割
  2. OpenCV YOLO DNN(yolo_object_detection)
  3. 适用于Linux / X11的Qt
  4. C++实现插值查找(附完整源码)
  5. QT绘制带有数据源的图表
  6. QT的QGradient类的使用
  7. C++STL的queue容器
  8. C++ Double-Ended Queues(双向队列)
  9. python考试报名官网安徽_今年优选:芜湖python
  10. 零售连锁管理软件_连锁超市用哪个收银软件好?