HttpWebRequest

11/09/2014 20:37 Hype#1
Hallo
Mein Ziel ist es, sich per HttpWebRequest auf einer Seite einzuloggen. (AddMeFast)
Nun habe ich folgende login Klasse:


Wenn ich das ganze Starten möchte, funktioniert es auch super, jedoch bekomme ich immer die Log-Meldung "Login nicht erfolgreich". Die Login Daten stimmen aber zu 100%, somit liegt der Fehler in meiner Anwendung.
Kann einer herausfinden, was ich falsch gemacht habe?
Wäre nett


MfG
11/09/2014 20:47 Neralix#2
Hast du dir den Response String mal genau angeschaut? Laut deiner Fehlerbeschreibung würde ich mal sagen das der String "Logout" darin nicht enthalten ist.
11/09/2014 20:52 Hype#3
Quote:
Originally Posted by Neralix View Post
Hast du dir den Response String mal genau angeschaut? Laut deiner Fehlerbeschreibung würde ich mal sagen das der String "Logout" darin nicht enthalten ist.
Also im Quelltext ist Logout enthalten:

[Only registered and activated users can see links. Click Here To Register...]
11/09/2014 21:03 Neralix#4
Der Quelltext den du im Browser siehst muss nicht unbeding der selbe sein, den du
in deinem WebRequest als Response bekommst.

Speicher den Inhalt der von html mal lokal in einem Textfile ab(IO.File.WriteAllText()) und
schau dir den Response-String nochmal an!
11/09/2014 21:35 Mostey#5
[Only registered and activated users can see links. Click Here To Register...] - Dann braucht man sogar auch nichts abspeichern.
11/09/2014 23:07 Devsome#6
Du kannst dir auch mit Firefox oder Chrome die GET parameter anschauen, die übermittelt werden beim Login.
Dort siehst du dann auch schon was du senden musst um dich einzuloggen
11/10/2014 15:48 PC Jones#7
Mach doch einfach eine RichTextbox (oder Textbox mit Multiline an) und speichere dir dort die antwort:


Dort guckst du dann was im "html" String drin steht.
11/11/2014 16:43 Hype#8
Quote:
Originally Posted by Mostey View Post
[Only registered and activated users can see links. Click Here To Register...] - Dann braucht man sogar auch nichts abspeichern.
Danke für die Seite.
Für mein aktuelles Problem habe ich zwar eine andere Lösung gefunden, jedoch ist sie bestimmt hilfreich für mich in nächster Zeit :)


Quote:
Originally Posted by Devsome View Post
Du kannst dir auch mit Firefox oder Chrome die GET parameter anschauen, die übermittelt werden beim Login.
Dort siehst du dann auch schon was du senden musst um dich einzuloggen
Leider gibt es bei einem Seitenaufruf gefühlt 1k GET's.
Zum senden der Einloggdaten braucht man ja POST. Dieses gibt es nur 2 mal, ich habe auch mit dem richtigen gearbeitet.
Ich weiß ja, was ich senden muss, jedoch habe ich ein Fehler in meiner Klasse gehabt.


Quote:
Originally Posted by PC Jones View Post
Mach doch einfach eine RichTextbox (oder Textbox mit Multiline an) und speichere dir dort die antwort:


Dort guckst du dann was im "html" String drin steht.
Das funktioniert ja super :)
Danke...

Das ist also der html text, mit dem ich weiterarbeiten muss...
Danke für die Hilfe, auch an @Neralix .

Ich bekommt nun immernoch die Meldung "Login nicht erfolgreich!"
Ich vermute, es liegt an der Zeile:
"html = .GetResponse("http://addmefast.com/?lang=de", "email=" & email & "&password=" & password & "&cookieuser=1&s=&securitytoken=guest&do=login&vb_ login_md5password=&vb_login_md5password_utf=")"
11/11/2014 18:44 tolio#9
ich sehe da keinen cookiecontainer, benutzt du einen?
11/11/2014 21:03 Hype#10
Quote:
Originally Posted by tolio View Post
ich sehe da keinen cookiecontainer, benutzt du einen?
Ja in meiner http Klasse ist einer.
Aber das Problem hat sich mitlerweilen gelöst, danke :)
11/12/2014 11:46 PC Jones#11
Quote:
Originally Posted by Tadashi' View Post
Ja in meiner http Klasse ist einer.
Aber das Problem hat sich mitlerweilen gelöst, danke :)
Woran lag es denn?
Falls andere mal ein ähnliches Problem haben kann denen das vielleicht helfen.

LG
11/12/2014 14:20 Hype#12
Es lag an der Zeile, welche ich in meinem letzten Post vermutet habe.
Ich kann sie grade leider nicht kopieren weil ich am Handy bin.
Der abgeschickte Post war nicht richtig formuliert, also konnte AMF nichts damit anfangen.