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

 

 

 

個人初級程序員直覺告訴我簡直完美!

相關文章
相關標籤/搜索