[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData);
private void setCookieStringToWebBrowser(string url) //设置 cookie 给 webBrowser 并打开 url
{
InternetSetCookie(url, "offical.signin", "id=114858&key=0fe23af6-a8d0-4b02-bc3a-09f74f430ff2");
InternetSetCookie(url, "CCUUID", "51952591582295158211582295159");
// InternetSetCookie(url, "Cookie_Name", "Cookie_Value");
webBrowser1.Navigate(url);
}
[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);
private static string GetCookieString(string url) // 从 webBrowser 获取 cookie,一般在webBrowser的 DocumentCompleted中获取
{
uint datasize = 1024;
StringBuilder cookieData = new StringBuilder((int)datasize);
if (!InternetGetCookieEx(url, null, cookieData, ref datasize, 0x2000, IntPtr.Zero))
{
if (datasize < 0)
return null;
cookieData = new StringBuilder((int)datasize);
if (!InternetGetCookieEx(url, null, cookieData, ref datasize, 0x00002000, IntPtr.Zero))
return null;
}
return cookieData.ToString();
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (e.Url.ToString().Contains("https://lot.ys998888.com")) //监测要获取cookie的url
{
MessageBox.Show("Contains lot.ys998888.com");
richTextBox1.AppendText(GetCookieString("https://lot.ys998888.com") + "\r\n");
// 调用 GetCookieString 获取 cookie
}
}
setCookieStringToWebBrowser 给 webBrowser 设置 cookie
GetCookieString 从 webBrowser 获取 cookie