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

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-07
  • 2021-06-05
  • 2022-12-23
  • 2022-12-23
  • 2021-08-28
  • 2021-11-07
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-22
  • 2022-01-31
  • 2022-12-23
  • 2021-11-23
  • 2022-12-23
相关资源
相似解决方案