Gå til innhold

c# Cookiecontainer til en webbrowser control?


Anbefalte innlegg

HeI!

 

Jeg har cookies lagret som en string (hentet fra cookiecontainern) som jeg vil bruke sammen med webbrowser controllen.

 

Jeg har prøvd dette:

wb.document.cookie = cookieString;

jeg får her en NullReferenceException: Object reference not set to an instance of an object.

 

Jeg har også prøvd dette (herfra: http://stackoverflow.com/questions/2830586/setting-a-cookie-in-a-webbrowser-control]):

[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
static extern bool InternetSetCookie(string lpszUrlName, string lpszCookieName, string lpszCookieData);


InternetSetCookie("http://myurl.com", null, cookieString + " expires = Sun, 01-Jan-2014 00:00:00 GMT");

Her vet jeg egentlig ikke om cookien blir satt, så ikke slik ut i wireshark i hvertfall.

Endret av randome
Lenke til kommentar
Videoannonse
Annonse

Hei,

 

nå har jeg aldri vært å tutlet så mye med denne her webbrowsercontrolen da jeg ser på den høyst unyttig.

Om du først skal lage en nettleser eller hva som helst så er det kanskje litt kjekkere å starte med noe mer grunnleggende?

 

Uansett,

        private const string C_USERAGENT = "Mozilla/5.0 (IE 11.0; Windows NT 6.3; Trident/7.0; .NET4.0E; .NET4.0C; rv:11.0) like Gecko";
        private CookieContainer cookies;
        private System.IO.Stream HttpGet(string url)
        {
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            req.Method = "GET";
            req.CookieContainer = cookies;
            req.UserAgent = C_USERAGENT;
            try
            {
                System.IO.Stream s = req.GetResponse().GetResponseStream();
                return s;
            }
            catch (WebException ex)
            {
                return null;
            }
        }
        private System.IO.Stream HttpPost(string url, string data)
        {
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            req.Method = "POST";
            req.CookieContainer = cookies;
            req.UserAgent = C_USERAGENT;
            System.IO.Stream in_s = req.GetRequestStream();
            byte[] buffer = System.Text.Encoding.UTF8.GetBytes(data);
            in_s.Write(buffer, 0, buffer.Length);
            try
            {
                System.IO.Stream s = req.GetResponse().GetResponseStream();
                return s;
            }
            catch (WebException ex)
            {
                return null;
            }
        }
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...