I am using the GeckoWebBrowser control for navigate an URL. It actually should have cookies when that page is loaded. But if I tried to get the cookie, I get a blank text even the page is loaded.
GeckoWebBrowser m_Browser = ...
// ... after navigated. string sCookie = m_Browser.Document.Cookie.ToString();
Is there another way to get the cookies from GeckoWebBrowser? Please help me. Thanks
This is verified to work with GeckoFX v29.0.
var uri = new Uri(txtURL.Text);
//often cookies are stored on domain level, so ".google.com", not "www.google.com" (leading dot is important)
string host = uri.Host.Replace("www", "");
var cookies = CookieManager.GetCookiesFromHost(host);
string cookiesText = "";
while (cookies.MoveNext())
{
var c = cookies.Current;
cookiesText += c.Name + "=" + c.Value + ";";
}
Also Browser.Document.Cookie seems to be more reliable now, but I haven't tested it extensively.
来源:https://stackoverflow.com/questions/20485504/c-sharp-how-to-get-cookies-from-geckowebbrowser-control