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

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

 

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

……session

……测试

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

接着,我继续找,google

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

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

好,立马试试code

??????对象

你们请原谅我水平低下,实在没有找到这个方法在哪里,若是园里的大神找到了,请告知一声,小弟感激涕零。

 

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

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);

 

 

 

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

相关文章
相关标签/搜索