主页 > 编程资料 > 编程更多 >
发布时间:2017-02-14 作者:apizl 阅读:268次

普通的获取方式会漏掉部分cookie

string cookie=webBrowser1.Document.Cookie;

clipboard.png

//取当前webBrowser登录后的Cookie值  
        [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);
        //取出Cookie,当登录后才能取   
        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();
        }


文章由爱资料原创本文地址:https://www.apizl.com/archives/view-133805-1.html,转载请以链接形式标明本文地址!
关键字词: