C#删除WebBrowser控件Session

转载:http://www.hackdig.com/?02/hack-1464.htm

 

因为要搞一个类似帐号多开的小辅助,但是很坑爹的发现,在一个WebBrowser中,就算重新登录,显示的仍然是上一个帐号,尝试清空cookie无效,目测就是session的问题,因为session信息是属于httponly cookie,所以不能直接清除。

搜了一圈,最终在stackoverflow上找到答案。

清除httponly的cookie,可以借助winapi的InternetSetOption()。

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

然后在需要清除session的地方使用

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

再次跳转之后就会发现session已经清除。

posted @ 2015-10-29 17:05  公众号python学习开发  阅读(578)  评论(0编辑  收藏  举报