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比较完整

  • 相关阅读:
    go语言的垮平台编译
    vscode使用技巧
    集合
    泛型
    异常
    Java垃圾回收机制
    java学习笔记9.20
    java变量类型
    目前的学习计划
    离第一篇博客三天
  • 原文地址:https://www.cnblogs.com/liaoyi/p/9016233.html
Copyright © 2011-2022 走看看