Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Cookies och persistant data med WebClient

Postades av 2010-12-08 23:14:20 - Henrik Bäck, i forum c# (c-sharp), Tråden har 2 Kommentarer och lästs av 2022 personer

Hej!

Jag har ett lite underligt problem som gäckat mig i över 3 månader nu. Efter att totalt kört fast tar jag en rövare och ser om det är någon av er här som kanske har några smarta drag.

I ett litet hobbyprojekt försöker jag integrera en applikation (.NET) med en webbsida på en Tiny Java Web Server. Min applikation är i två steg, där det första steget innebär att jag loggar in på webbplatsen som finns på TJW-servern. Inloggningen lyckas och jag får se "välkomstskärmen". Tillbaka från servern får jag också en Set-Cookie.
I mitt andra steg navigerar jag till en länk på webbplatsen (som kräver inloggning). Jag skickar med Cookie-värdet och det är nu jag kör fast. Här hamnar jag i ett "utloggat" läge och kan inte fortsätta.

Någon stans har min session försvunnit på servern eller klientsidan. Är det någon som har en idé om hur jag kan lösa detta.

        
    private string _url = "CurrentPage.ijp"
    string _userAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";

public String Result()
{
   using (WebClient wc = new WebClient()) {
                wc.BaseAddress = "http://10.0.0.4";
                string cookie = Login(wc);
                return Navigate(wc, cookie);
            }
}

 private string Login(WebClient wc) {
            string loginUrl = "MainPage.ijp";

            NameValueCollection login = new NameValueCollection();
            login.Add("action", "login");
            login.Add("login", ConfigurationManager.AppSettings["WebScene.Username"]);
            login.Add("password", ConfigurationManager.AppSettings["WebScene.Password"]);
            login.Add("language", "sv");
            login.Add("remember", "off");
            wc.Headers.Add(HttpRequestHeader.UserAgent, _userAgent);
            byte[] response = wc.UploadValues(loginUrl, "POST", login);
            cookie = wc.ResponseHeaders["Set-Cookie"];
            return cookie;
        }

        private String Navigate(WebClient wc, String cookie) {
            try {
                wc.Headers.Add(HttpRequestHeader.UserAgent, _userAgent);
                wc.Headers.Add(HttpRequestHeader.Cookie, cookie);
               
                return response = wc.DownloadString(url); //Här blir svarat som om jag aldrig loggat in

            } catch (WebException ex) {
                return String.Empty;
            }
        }


Svara

Sv: Cookies och persistant data med WebClient

Postades av 2010-12-09 21:53:35 - Oskar Johansson

Det där känns inte riktigt rätt, du behandlar cookies helt fel. Ett tips är att köra med t.ex. fiddler för att se vad som egentligen händer, och att du jämför vad som händer nu med vad som händer när du manuellt surfar in på den där TJW och loggar in.

Hur som haver, titta på CookieContainer, då slipper du alla dessa problem eftersom att den sköter sig självt.


Svara

Sv:Cookies och persistant data med WebClient

Postades av 2010-12-09 22:23:48 - Henrik Bäck

Tack Oskar!

Du och Fiddler gjorde min dag! Det var som du sa, jag som gjorde fel i cookie-hanteringen. Jag får ju flera rader med "set-cookie" tillbaka från servern, och att bara baka ihop dem som jag gjorde förstörde ju allt. Nu fungerar det!

/Henrik


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 763
27 959
271 761
372
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies