Avatar billede coba Nybegynder
03. februar 2009 - 15:39 Der er 2 kommentarer

Få cURL og webbrowser til at køre sammen

Hejsa.
Jeg har et C# program, der prøver at logge ind på en side vha. cURL. Den sender min post og logger ind for mig.
easy.SetOpt(CURLoption.CURLOPT_COOKIEFILE, "cookie.txt"); 
            easy.SetOpt(CURLoption.CURLOPT_COOKIEJAR, "cookie.txt");
            easy.SetOpt(CURLoption.CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.0; da; rv:1.8.1.20) Gecko/20081217 Firefox/2.0.0.20");
            easy.SetOpt(CURLoption.CURLOPT_FOLLOWLOCATION, true);
            easy.SetOpt(CURLoption.CURLOPT_REFERER, "http://minside.dk");
            easy.SetOpt(CURLoption.CURLOPT_URL, "http://minside.dk/login.php");
            easy.SetOpt(CURLoption.CURLOPT_AUTOREFERER, true);
            easy.SetOpt(CURLoption.CURLOPT_FOLLOWLOCATION, 1);
            easy.SetOpt(CURLoption.CURLOPT_PUT, false);
            easy.SetOpt(CURLoption.CURLOPT_POST, true);
            easy.SetOpt(CURLoption.CURLOPT_POSTFIELDS, "name=Brugernavn&pass=Password");

Den logger fint ind og returnerer HTML koden.
Jeg har i samme program indsat en webBrowser control, findes der nu en måde jeg kan få vist den side curl lige har logget ind på?
Ved godt jeg kan bruge webBrowser.DocumentWrite, men vil helst vist det kunne lade sig gøre det blev vist som en URL og ikke som HTML kode.
Har prøvet bare at loade www.minside.dk bagefter, men min webbrowser control benytter sig ikke at samme cookie som jeg gemmer ned fra cURL når jeg logger ind. Så derfor åbner den bare siden op i webbrowser controllen uden jeg er logget ind.

Så hvis nogle af jer, kender en måde at benytte en bestemt cookie i min webbrowser (i det her tilfælde min cookie.txt), så den vil være logget ind i webbrowseren når først cURL har lavet en login cookie - eller ved hvordan jeg får vist min cURL processer i webbrowseren kunne det være kanon :)

Mvh. Casper
Avatar billede coba Nybegynder
03. februar 2009 - 21:06 #1
Har fundet en måde at gøre det på med HttpWebRequest..
Findes der en måde med HttpWebRequest at få det vist på ens webbrowser control?
Avatar billede aaberg Nybegynder
04. februar 2009 - 19:21 #2
Følgende kode henter yahoo.com med en HttpWebRequest, og viser den i en browser.

HttpWebRequest wwwReq = (HttpWebRequest)WebRequest.Create("http://www.yahoo.com");
            HttpWebResponse respons = (HttpWebResponse)wwwReq.GetResponse();

            this.webBrowser1.DocumentStream = respons.GetResponseStream();

Kan du ikke vise hvordan du løste dit problem? Jeg synes det kunne være interessant at vide.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester