Erstmal frohe Weihnachten an das gesamte Team,
ich will eine Verbindung zu einem Webpannel im lokalen Netzwerk mittels C# aufbauen. Mit Wireshark habe ich mitgesnifft wie genau der Login abläuft. Es sieht wie folgt aus. Wird die Startseite des Webpannels aufgerufen, so wird ein Cookie vom Webserver aus beim Clienten angelegt. Ruft man nun die Loginurl auf also "login.php?&user=username&pass=passwort" und der Login ist korrekt, so werden neue Werte in das Cookie geschrieben wie z.B. Session_id=328932838.
Ich habe mir jetzt ein script geschrieben, das zunächst per Httpwebrequest die Startseite aufruft und sich das Cookie holt, danach wird ein zweiter Httpwebrequest ausgeführt, bei dem aber der Cookie aus dem ersten Request angehängt wird. Sniffe ich nun das ganze mit Wireshark mit, so wird der erste Request fehlerfrei ausgeführt und der Cookie wird gespeichert. Irgendetwas stimmt jedoch mit dem zweiten Request nicht. Meine Vermutung ist, dass beim zweiten Request zwar der Cookie angehängt wird, aber mein Code das Schreiben von neuen Werten in das Cookie (z.B. Session_Id) nicht erlaubt. Ich bin verzweifelt.
Hier der Code:
CookieCollection Cookies= new CookieCollection(); //Objekt für empfangenes Cookie
HttpWebRequest request0 = (HttpWebRequest)WebRequest.Create("http://"+host+":"+port); //Request für Cookie
request0.CookieContainer = new CookieContainer();
HttpWebResponse response0 = (HttpWebResponse)request0.GetResponse();
Cookies= response0.Cookies; //Empfangenes Cookie wird abgelegt
//REQUEST MIT COOKIE
CookieCollection Cookies1= new CookieCollection();
HttpWebRequest request1 = (HttpWebRequest)WebRequest.Create("http://"+host+":"+port+querry); //request mit cookie aus request0
request1.CookieContainer = new CookieContainer();
request1.CookieContainer.Add(Cookies); //Zuvor abgelegtes Cookie wird request1 angehängt und abgeschickt
HttpWebResponse response1 = (HttpWebResponse)request1.GetResponse();
Cookies1= response1.Cookies;
Vielen Dank für eure Hilfe!!
Grüße
|