Mehrere Webrequests / Cookiecon löschn

07/21/2013 16:22 ҳc3ρ0™#1
Bräuchte mal hilfe, habe es schon gegoogelt aber finde nichts.

Mein Programm loggt sich mit mehreren Accounts über 'nen Webrequest ein, und soll dann ausgeben ob sie gehen oder nicht.

Der Login funktioniert, allerdings nur mit dem 1 Acc, d.h. Wenn der 1 Acc geht, werden alle als gehend angezeigt, und wenn der erste nicht geht alles andrsrum.

Mein Kolleg meinte das liegt am CookieCon, ich weis aber nicht wie man diesen leert oder löscht. Eine andere alternative wäre auch für jeden Account einen extra Webrequest.

Kann mir da jemand auf die Sprünge helfen?

MfG
07/21/2013 16:31 Else#2
Du musst in diesem Fall, pro WebRequest einen Eigenen CookieContainer erzeugen. Denn du wirst garantiert den selbigen für alle verwenden.
07/21/2013 16:44 ҳc3ρ0™#3
Quote:
Originally Posted by Else View Post
Du musst in diesem Fall, pro WebRequest einen Eigenen CookieContainer erzeugen. Denn du wirst garantiert den selbigen für alle verwenden.
Ja hab ich, läuft alles auf einen Webrequest und einen CookieCon. Wie erzeuge ich für jeden Acc einen eigenen Webrequest / CookieCon?
07/21/2013 16:45 bloodx#4
mhm erstell nen Array von Containern ?
oder ne struct / class mit entsprechenden Funktionen dann.
07/21/2013 16:48 ҳc3ρ0™#5
Quote:
Originally Posted by bloodx View Post
mhm erstell nen Array von Containern ?
oder ne struct / class mit entsprechenden Funktionen dann.
Mit Adrays hab ich mich noch nicht auseinandergesetzt. Funkion würde evtl gehen, hast du ein Codebeispiel parat?
07/21/2013 17:20 Else#6
[Only registered and activated users can see links. Click Here To Register...]
07/21/2013 17:55 tolio#7
cookiecontainer = nothing, fertig schon isser wieder leer
07/21/2013 18:12 ҳc3ρ0™#8
Quote:
Originally Posted by tolio View Post
cookiecontainer = nothing, fertig schon isser wieder leer
Werde das mal versuchen. Danke
07/21/2013 20:12 Tasiro#9
In welcher Form gelangst du an die Anmeldedaten? Wenn diese der Reihe nach eingegeben werden, kannst du diese ja gleich verwenden und das Ergebnis ausgeben. Das sähe dann vielleicht so aus:
1. Anmeldedaten mithilfe der Konsole einlesen
2. den Behälter deiner Hinterlegungsdateien (kurz: Cookies) anlegen
3. die Internetseite kontaktieren und dabei den eben erstellten Behälter verwenden
4. die Antwort auswerten und das berechnete Ergebnis ausgeben
5. und wieder von vorne.

Quote:
Originally Posted by tolio View Post
cookiecontainer = nothing, fertig schon isser wieder leer
Und schon wird eine NullReferenceException geworfen. Besser gleich cookiecontainer = new CookieContainer ().
Oder du schickst ein Paket zum Abmelden los und behälst deinen Behälter.

Aber wenn dir Felder unbekannt sind, solltest du dein Buch weiterlesen und mit der Kommunikation über das Internet warten.
07/21/2013 23:19 ҳc3ρ0™#10
Quote:
Originally Posted by Tasiro View Post
In welcher Form gelangst du an die Anmeldedaten? Wenn diese der Reihe nach eingegeben werden, kannst du diese ja gleich verwenden und das Ergebnis ausgeben. Das sähe dann vielleicht so aus:
1. Anmeldedaten mithilfe der Konsole einlesen
2. den Behälter deiner Hinterlegungsdateien (kurz: Cookies) anlegen
3. die Internetseite kontaktieren und dabei den eben erstellten Behälter verwenden
4. die Antwort auswerten und das berechnete Ergebnis ausgeben
5. und wieder von vorne.

Und schon wird eine NullReferenceException geworfen. Besser gleich cookiecontainer = new CookieContainer ().
Oder du schickst ein Paket zum Abmelden los und behälst deinen Behälter.

Aber wenn dir Felder unbekannt sind, solltest du dein Buch weiterlesen und mit der Kommunikation über das Internet warten.
Packet zum Abmelden habe ich schon probiert, funktioniert auch nicht. Werde das mit dem CookieCon leeren versuchen
07/22/2013 12:39 ҳc3ρ0™#11
€: geht nicht
07/22/2013 13:05 patlux#12
Zeig uns bitte mal einen kleinen Codeausschnitt von der Stelle an der du prüfst ob der Benutzer angemeldet ist. Das würde die Sache vereinfachen.

Nocheinmal: Sofern du gleich nach dem Anmelden, also bei der ersten Anfrage, die Antwort auswertest, dann ist ein CookieContainer nicht notwendig. Die Cookies brauchst du nur, wenn du NACH dem Anmelden auf eine andere Seite "gehst" und dort prüfst ob der Nutzer angemeldet ist.
07/22/2013 13:47 ҳc3ρ0™#13
Codebeispiel (altes Projekt) :
07/22/2013 19:21 'Heaven.#14
Das, was du oben gepostet hast sollte eigentlich gehen

bzw
" request = DirectCast(HttpWebRequest.Create("http://www.hardcore-reloaded.com/index.php?s=logout"), HttpWebRequest)"

Ich glaube er loggt sich nicht aus, da du noch keine Repsnose empfangen hast und somit der Request ungültig ist
07/22/2013 19:52 ҳc3ρ0™#15
Quote:
Originally Posted by 'Heaven. View Post
Das, was du oben gepostet hast sollte eigentlich gehen

bzw
" request = DirectCast(HttpWebRequest.Create("http://www.hardcore-reloaded.com/index.php?s=logout"), HttpWebRequest)"

Ich glaube er loggt sich nicht aus, da du noch keine Repsnose empfangen hast und somit der Request ungültig ist
Das mit dem Ausloggen wird ja unten durch den CookieCon gemacht, indem er einfach auf 0 gesetzt wird.