C# WindowsForms Cookies - problem

0

Witam,
Mam problem z ciasteczkami albo raczej z ich wykorzystywaniem.

Opis problemu:
Loguje się do gry (battleknight.pl). z wykorzystaniem ciasteczek ponieważ mam problem z funkcją klikania przycisku zaloguj na tej stronie...
Wszystko pięknie fajnie - loguje się , wyświetla się strona po zalogowaniu ale jak nawiguje dalej webBrowser1.Nawigate() wywala mnie do strony logowania tak jakby ciasteczka nie były przechowywane. Kod wstawiam poniżej:

[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool InternetGetCookieEx(string url, string cookieName, StringBuilder cookieData, ref int size, Int32 dwFlags, IntPtr lpReserved);
private const Int32 InternetCookieHttponly = 0x2000;
 


 public static CookieContainer GetUriCookieContainer(Uri uri)

        {
            CookieContainer cookies = null;
            int datasize = 8192 * 16;
            StringBuilder cookieData = new StringBuilder(datasize);
            if (!InternetGetCookieEx(uri.ToString(), null, cookieData, ref datasize, InternetCookieHttponly, IntPtr.Zero))
            {
                if (datasize < 0)
                    return null;
                cookieData = new StringBuilder(datasize);
                if (!InternetGetCookieEx(uri.ToString(), null, cookieData, ref datasize, InternetCookieHttponly, IntPtr.Zero))
                    return null;
            }
            if (cookieData.Length > 0)
            {
                cookies = new CookieContainer();
                cookies.SetCookies(uri, cookieData.ToString().Replace(';', ','));
            }
            return cookies;
        }
// LOGAdress = "http://s31.pl.battleknight.gameforge.com/main/login/" + UsernameTXT.Text + "/" + Get_md5(PasswordTXT.Text) + "?kid=&servername=null&serverlanguage=null";
Uri uri = new Uri(LOGAdress);
                var request = (HttpWebRequest)WebRequest.Create(uri);
                request.CookieContainer = GetUriCookieContainer(uri);
                var response = (HttpWebResponse)request.GetResponse();
                var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
                string LOGlink = Convert.ToString(uri);
                
                //KONIEC
                webBrowser1.Navigate(LOGlink);

No i wydaje się wszystko być OK jednakże po dodaniu za

webBrowser1.Navigate(LOGlink);

jeszcze:

webBrowser1.Navigate(LOGlink2);

gdzie:
LOGlink2 = "https://s31-pl.battleknight.gameforge.com/user";
Wywala mnie na stronę logowania.

Naprowadzi mnie ktoś gdzie jest błąd?

0

Nie przekazujesz ciasteczka do WebBrowsera, tylko robisz zwykłe żądanie z jego wykorzystaniem, a żądanie WebBrowser.Navigate już idzie oddzielnie. Spróbuj https://stackoverflow.com/questions/4185171/use-cookies-from-cookiecontainer-in-webbrowser

1 użytkowników online, w tym zalogowanych: 0, gości: 1