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已经清除。