• 【wpf WebBrowser 清空网站的Cookie&Session 清空用户登录状态】


    最近做项目遇到了一个说小不小,说大不大的问题,那就是在WebBrowser中清空网站上用户的登陆状态,

    一开始心想,那不就清空cookies就行啦,那么简单的事情,百度一下

    ……

    ……

    是的,正如你们所百度的一样,我清空个cookie还需要删除文件夹?会不会太麻烦了,我敏锐的初级程序员直觉告诉我,应该不是这样的。

    接着,我继续找,

    突然看见有人回答调用clearcookie(),

    我心想,卧槽,这太简单,

    好,立马试试

    ??????

    大家请原谅我水平低下,实在没有找到这个方法在哪里,如果园里的大神找到了,请告知一声,小弟感激不尽。

    接着,一位超级大神开始回答问题了

    1 //http://social.msdn.microsoft.com/Forums/zh-CN/1761/thread/c80df74b-bce6-4e65-bf40-71b40ba58f08/
    2 //这样可以解决吗?
    3 wb.Document.Cookie.Remove(0, (wb.Document.Cookie.Count - 1))
    4  
    5 //其中wb为WebBrowser控件对象实例

    好吧,我心想,这回看起来挺靠谱的,

    试试吧

    Document 是object的……
    没事,as HTMLDocument

    这回该有了了吧

    哎呦,还真有!

    那就赶紧测试一下吧……

    怎么用户状态还是已登录……

    这回,傻眼了,

    这怎么搞……

    那就查查呗,

    啊哈哈哈,查到了,目测应该是session的原因

    那就找找怎么清空session吧

    哎呦,这一查看来查对了,资料好多

    那就随便挑几个看看咯

    我勒个去,

    比清除session还要复杂

    我敏锐的初级程序员直觉告诉我,不是这样的

    于是转换阵地,google一下

    哦吼……

    C#删除WebBrowser控件Session

    这个超级简单的方法真是超级简单,

    测试可行。

    using System.Runtime.InteropServices;
    
    private const int INTERNET_OPTION_END_BROWSER_SESSION = 42;
    [DllImport("wininet.dll", SetLastError = true)]
    private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength);

    在你要清除的地方

    InternetSetOption(IntPtr.Zero, INTERNET_OPTION_END_BROWSER_SESSION, IntPtr.Zero, 0);

    我的初级程序员直觉告诉我简直完美!

  • 相关阅读:
    flume 安装过程记录
    hive 动态分区插入
    hive 数据导入
    scala 学习笔记
    hive 日志
    Linux下设置和查看环境变量
    数据结构(4):图解递归调用机制
    使用数据结构栈实现表达式计算器
    数据结构(3):java使用数组模拟堆栈
    使用Vue和Element-ui的cdn模式临摹一个后台框架
  • 原文地址:https://www.cnblogs.com/Bobdong/p/5504860.html
Copyright © 2020-2023  润新知