zoukankan      html  css  js  c++  java
  • 获取浏览器的Cookie

    在webbowser中,如果想获取cookie可以使用如下方法

    webBrowser1.Document.Cookie;

    但是这个方法获取的cookie往往不全。

    需要使用如下方法

       private const int INTERNET_COOKIE_HTTPONLY = 0x2000;
    
            public static string GetCookie(string url)
            {
    
                int capacity = 0x200;
                StringBuilder cookieData = new StringBuilder(capacity);
                if (!InternetGetCookieEx(url, null, cookieData, ref capacity, 0x2000, IntPtr.Zero))
                {
                    if (capacity < 0)
                    {
                        return null;
                    }
                    cookieData = new StringBuilder(capacity);
                    if (!InternetGetCookieEx(url, null, cookieData, ref capacity, 0x2000, IntPtr.Zero))
                    {
                        return null;
                    }
                }
                return cookieData.ToString();
            }
    
            [DllImport("wininet.dll", SetLastError = true)]
            private static extern bool InternetGetCookieEx(string url, string cookieName, StringBuilder cookieData, ref int size, int flags, IntPtr pReserved);     
        

     调用的时候必须传入完整的URL

    cookie = CookieReader.GetCookie(this.webBrowser1.Url.ToString());

    这样得到的cookie比较完整

  • 相关阅读:
    传球游戏(NOIP2008 普及组第三题)
    立体图(NOIP2008 普及组第四题)
    多项式输出(NOIP2009 普及组第一题)
    分数线划定(NOIP2009 普及组第二题)
    第5到8章
    第四章总结
    实验九
    实验五
    实验四
    实验三
  • 原文地址:https://www.cnblogs.com/liaoyi/p/9016233.html
Copyright © 2011-2022 走看看