Avatar billede zepton Nybegynder
12. september 2006 - 16:45 Der er 4 kommentarer og
1 løsning

Web session

Hej Eksperter!

Jeg er ved at udvikle et program, der skal hente nogle værdier fra nettet, dog kræver disse værdier, at man er logget ind på siden. Hvordan kan jeg holde en session "i live", så jeg kan logge ind og derefter hente en anden side? Hvis jeg f.eks. skal logge ind på siden "mitwebhotel.dk/login.aspx?user=123&pass=456" og jeg skal have siden "mitwebhotel.dk/welcome.aspx", som jeg KUN kan få adgang til, når jeg er logget ind.

Hvordan kan dette problem løses?
Avatar billede arne_v Ekspert
12. september 2006 - 20:33 #1
hvis jeg husker rigtigt så laver du en:

CookieContainer cc = new CookieContainer();

og så henter du først den ene side og så den anden side og for begge HttpWebRequest
objekter laver du:

hwr.CookieContainer = cc;

altså så begge requests bruger samme CookieContainer
Avatar billede arne_v Ekspert
05. oktober 2006 - 02:50 #2
OK ?
Avatar billede zepton Nybegynder
05. oktober 2006 - 10:11 #3
arne_v:
Undskyld at jeg først skriver nu, men jeg har haft travlt på det sidste og lagde først mærke til spørgsmålet da du igen gav respons. Jeg har prøvet at få det til at virke, men det lykkes ikke.

Kan du prøve at give et eksempel?
Avatar billede arne_v Ekspert
07. oktober 2006 - 00:52 #4
using System;
using System.IO;
using System.Net;

namespace E
{
    public class MainClass
    {
        public static string GetContent(string url, CookieContainer session)
        {
            HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(url);
            wr.CookieContainer = session;           
            string html = (new StreamReader(wr.GetResponse().GetResponseStream())).ReadToEnd();
            return html;
        }
        public static void Main(string[] args)
        {
            CookieContainer session = new CookieContainer();
            string login = GetContent("http://localhost:8080/logintest/login.jsp?username=arne&password=hemmeligt", session);
            Console.WriteLine(login);
            string other = GetContent("http://localhost:8080/logintest/other.jsp", session);
            Console.WriteLine(other);
        }
    }
}
Avatar billede zepton Nybegynder
20. oktober 2006 - 23:56 #5
Jeg takker mange gange for svaret.
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