namespace AliLoginForm{ ???public class MyIECookie ???{ ???????//[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true, CallingConvention = CallingConvention.Cdecl)] ???????//static extern bool InternetGetCookieEx(string pchURL, string pchCookieName, StringBuilder pchCookieData, ref int pcchCookieData, int dwFlags, IntPtr lpReserved); ???????//取出Cookie,当登录后才能取 ???????????public static string GetCookieString(string url) ???????{ ???????????// Determine the size of the cookie ?????????????????uint datasize = 256; ???????????StringBuilder cookieData = new StringBuilder((int)datasize); ???????????if (!InternetGetCookieEx(url, null, cookieData, ref datasize, 0x00002000, IntPtr.Zero)) ???????????{ ???????????????if (datasize < 0) ???????????????????return null; ???????????????// Allocate stringbuilder large enough to hold the cookie ???????????????????cookieData = new StringBuilder((int)datasize); ???????????????if (!InternetGetCookieEx(url, null, cookieData, ref datasize, 0x00002000, IntPtr.Zero)) ???????????????????return null; ???????????} ???????????return cookieData.ToString(); ???????} ???????[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)] ???????static extern bool InternetGetCookieEx(string pchURL, string pchCookieName, StringBuilder pchCookieData, ref System.UInt32 pcchCookieData, int dwFlags, IntPtr lpReserved); ???}}
使用 InternetGetCookieEx 获取webbrowser中的 cookie 包含 httponly
原文地址:https://www.cnblogs.com/cxlater/p/8349784.html