C# How to get cookies from GeckoWebBrowser control

前端 未结 2 768
广开言路
广开言路 2021-01-20 15:30

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 ev

相关标签:
2条回答
  • 2021-01-20 16:23

    i found a reason for this issue, because the all element of geckowebbrowser is loading then you set cookie immediately, so geckowebbrowser not enough time to authorized. My solution is make a button. onload winform you do navigate url you wan, after than you click on button, behind event button you set authorized cookie for your url. It's working for me. :)

    0 讨论(0)
  • 2021-01-20 16:32

    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.

    0 讨论(0)
提交回复
热议问题