[WebBrowser][Cookie] Document.Cookie 取得的Cookies不完整問題
2012-07-24 09:23
120 查看
有時候需要取得WebBrowser所在的頁面的Cookie,就會像下面這樣寫
但取得的Cookie屬性內容並非為真正請求出去所包含的所有Cookie,若要取得實際請求會送出的網址Cookie,就可以使用InternetGetCookieEx這個WinAPI來取得,下面是API的方法宣告
InternetSetCookieEx是設定Cookie,在這裡的範例不會使用到,而InternetGetCookieEx使用方式可以參閱這裡,主要是取得IE瀏覽器的Cookie,以下的靜態方法是可以輸入網址後,取得該網址所包含的Cookies
註:GetCookies靜態方法的代碼是修改網路上不知名版本,然後在對應上述所宣告的API參數所改寫。
1 | string cookie=webBrowser1.Document.Cookie; |
1 | [DllImport( "wininet.dll" ,CharSet=CharSet.Auto,SetLastError= true )] |
2 | static extern bool InternetGetCookieEx( string pchURL, string pchCookieName,StringBuilderpchCookieData, ref System.UInt32pcchCookieData, int dwFlags,IntPtrlpReserved); |
3 |
4 | [DllImport( "wininet.dll" ,CharSet=CharSet.Auto,SetLastError= true )] |
5 | static extern int InternetSetCookieEx( string lpszURL, string lpszCookieName, string lpszCookieData, int dwFlags,IntPtrdwReserved); |
01 | private static string GetCookies( string url) |
02 | { |
03 | uint datasize=256; |
04 | StringBuildercookieData= new StringBuilder(( int )datasize); |
05 | if (!InternetGetCookieEx(url, null ,cookieData, ref datasize,0x2000,IntPtr.Zero)) |
06 | { |
07 | if (datasize<0) |
08 | return null ; |
09 |
10 | cookieData= new StringBuilder(( int )datasize); |
11 | if (!InternetGetCookieEx(url, null ,cookieData, ref datasize,0x00002000,IntPtr.Zero)) |
12 | return null ; |
13 | } |
14 | return cookieData.ToString(); |
15 | } |
相关文章推荐
- Document.Cookie 取得的Cookies不完整問題
- Document.Cookie 取得的Cookies不完整問題
- Document.Cookie 取得的Cookies不完整問題
- FullWebBrowserCookie 取得WebBrowser的完整Cookie
- webBrowser.Document.Cookie取不到HttpOnly的Cookie,取Cookie不完整
- C#利用WebBrowser获取完整COOKIE介绍
- document.all.WebBrowser.ExecWB的完整说明
- 【转】js中通过docment.cookie获取到的内容不完整! 在浏览器的application里的cookie里可以看到完整的cookie,个别字段无法通过document.cookie获取。 是否有其他办法可以获取到??
- C#利用WebBrowser获取完整COOKIE介绍 (转帖)
- document.all.WebBrowser.ExecWB的完整说明
- C#利用WebBrowser获取完整COOKIE
- 从WebBrowser中取得Cookie 和 HttpWebRequest设置cookie!
- C#利用WebBrowser获取完整COOKIE介绍
- 从WebBrowser中取得Cookie 和 WebClient设置cookie!
- Request.Cookies 和 Document.cookie 信息不匹配
- C#用WebBrowser与WIN API辅助模拟获取网站完整Cookie
- paip.C#.NET利用WebBrowser获取完整COOKIE
- C#在WebBrowser下获取完整的Cookies(包括含HTTPOnly属性的)
- document.all.WebBrowser.ExecWB的完整说明
- document.all.WebBrowser.ExecWB的完整说明