Пример #1
0
    public static string GetCookieInternal(string url, bool throwIfNoCookie)
    {
        uint num   = 0u;
        uint flags = 8192u;

        if (HandleBase.InternetGetCookieEx(url, null, null, ref num, flags, IntPtr.Zero))
        {
            num += 1u;
            StringBuilder stringBuilder = new StringBuilder((int)num);
            if (HandleBase.InternetGetCookieEx(url, null, stringBuilder, ref num, flags, IntPtr.Zero))
            {
                new WebPermission(NetworkAccess.Connect, url).Demand();
                return(stringBuilder.ToString());
            }
        }
        int lastWin32Error = Marshal.GetLastWin32Error();

        if (throwIfNoCookie || lastWin32Error != 259)
        {
            throw new Win32Exception(lastWin32Error);
        }
        return(null);
    }