获取WebBrowser中的Cookies(包含ASP.NET_SessionId等)

作者: Nishizhen 分类: C#相关 发布时间: 2011-12-15 16:30 ė 61条评论

一开始使用WebBrowser.Document.Cookie获取,怎么获取这个值都是null,但是使用http分析工具抓到的包里就都能够看到ASP.NET_SessionId等Cookie值

用了很多办法都不行,下面的方法可以,Mark~

  [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
        static extern bool InternetGetCookieEx(string pchURL, string pchCookieName, StringBuilder pchCookieData, ref int pcchCookieData, int dwFlags, object lpReserved);

        private static string GetCookieString(string url)
        {
            // Determine the size of the cookie   
            int datasize = 256;
            StringBuilder cookieData = new StringBuilder(datasize);

            if (!InternetGetCookieEx(url, null, cookieData, ref datasize, 0x00002000, null))
            {
                if (datasize < 0)
                    return null;

                // Allocate stringbuilder large enough to hold the cookie   
                cookieData = new StringBuilder(datasize);
                if (!InternetGetCookieEx(url, null, cookieData, ref datasize, 0x00002000, null))
                    return null;
            }
            return cookieData.ToString();
        }

本文出自 逆时针's Place,转载时请注明出处及相应链接。

本文永久链接: http://www.nishizhen.cn/%e8%8e%b7%e5%8f%96webbrowser%e4%b8%ad%e7%9a%84cookies%ef%bc%88%e5%8c%85%e5%90%abasp-net_sessionid%e7%ad%89%ef%bc%89/

一条评论

  1. peter 2011年12月29日 16:09

    thanks for you message

发表评论

电子邮件地址不会被公开。 必填项已用*标注

验证码 * Time limit is exhausted. Please reload CAPTCHA.

Ɣ回顶部