Schneller Login über Winsock Verfasst am: 21.08.2008, 23:06
Hi liebe Leutz,
ich wollt mich mal mit dem Tutorial von LoneyToons beschäftigen und hab das ganze mal an eBay ausprobiert, weil ich grad den Account von meinem Dad zum testen parat hatte. Meiner Meinung nach, habe ich alles so gemacht wie im Tutorial. Doch ich bekomme, egal was ich mache immer per MsgBox ausgegeben, dass der Account nicht vorhanden ist.
Ich habe mich auch vergewissert, ob die "Response von Winsock" bei erfolgreichem und nicht erfolgreichem Login unterschiedlich ist und ja das ist sie. Also da kann der Fehler nicht liegen.
Dadurch, dass der Cookie von eBay so übertrieben lang ist und auch die letzte Zeile, in der der Username und das Passwort gesendet werden, musste ich die Zeilen aufsplitten, was ja mit "& _" absolut kein Problem ist.
So ich hab hier mal den Sourcecode:
1. Formular Visual Basic: [code] Private Sub cmdCheck_Click() Winsock1.Close Winsock1.Connect "www.ebay.de", "80" End Sub
Private Sub Form_Unload(Cancel As Integer) Winsock1.Close End End Sub
Private Sub Winsock1_Connect() Login txtUser.Text, txtPW.Text, Winsock1 End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim eingang As String * 15
Winsock1.GetData eingang
If eingang = "HTTP/1.x 200 OK" Then MsgBox "Gültiger Account", vbInformation, "Treffer" Exit Sub Else MsgBox "Ungültiger Account", vbCritical, "Fehler" End If Winsock1.Close End Sub[/code]
Und dann noch aus dem Modul, wo es eigentlich zur Sache geht: Visual Basic: [code] Public Function Login(User As String, Pass As String, Winsock1 As Winsock)
Wieso will das ganze nicht so funktionieren, wie ich das will? Liegt es an der SSL Verschlüsselung von eBay (obwohl ich das bezweifle, weil der Login bei ICQ und bei studivz auch nicht geklappt hat) oder liegt es an einem Fehler von meiner Seite aus?
Danke schonmal im Voraus für eure Hilfe
MfG Jings
Habs selber rausbekommen! Die Response ist halt bei den Seiten, die ich ausprobiert habe nicht unterschiedlich. In Live HTTP Headers ist sie unterschiedlich dargestellt aber nicht, wenn ich meinen Source durchbugge! _________________
LooneyToons Poster
Anmeldedatum: 01.05.2008 Beiträge: 125
Verfasst am: 28.08.2008, 14:38
hier , hab vergessen , dass man bei der response öfters , mehrere responses bekommt =) mach dann einfach noch ne If-Clause
Visual Basic: [code] Private Sub cmdCheck_Click() Winsock1.Close Winsock1.Connect "www.ebay.de", "80" End Sub
Private Sub Form_Unload(Cancel As Integer) Winsock1.Close End End Sub
Private Sub Winsock1_Connect() Login txtUser.Text, txtPW.Text, Winsock1 End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim eingang As String * 15
Winsock1.GetData eingang
If eingang <> vbNullstring Then If eingang = "HTTP/1.x 200 OK" Then MsgBox "Gültiger Account", vbInformation, "Treffer" Exit Sub Else MsgBox "Ungültiger Account", vbCritical, "Fehler" End If End If Winsock1.Close End Sub[/code]
//Edit: ausserdem ändert sich glaubsch noch das HTTP/1.x 200 OK in sowas wie HTTP/1.1 200 OK hab leider kein ebay account und kann das somit nicht testen ^^