No sé que pasará por eso os pido ayuda a ver si sabéis ayudarme un poco, el código es el siguiente:
Código
Dim data, aux, keys As String Dim vaux As Variant Private Sub Command1_Click() Winsock1.Connect "messenger.hotmail.com", 1863 End Sub Private Sub Winsock1_Connect() Winsock1.SendData "VER 1 MSNP8 CVR0" & vbCrLf End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Winsock1.GetData data Winsock1.GetData aux data = Left(data, 3) Select Case data Case "VER" Winsock1.SendData "CVR 2 0x0C0A winnt 5.1 i386 MSNMSGR 7.5.0311 MSMSGS " & Text1.Text & vbCrLf Case "CVR" '//EL TEXT1.TEXT CONTIENE LA CUENTA CON LA QUE QUIERO CONECTAR Winsock1.SendData "USR 3 TWN I " & Text1.Text & vbCrLf Case "XFR" '// AQUÍ LO QUE HAGO ES COGER SOLO aux = Mid(aux, 9, 18) 'LA PARTE DEL PAQUETE QUE TIENE LOS vaux = Split(aux, ":") 'DATOS QUE ME INTERESAN Winsock1.Close Winsock2.Connect vaux(0), vaux(1) End Select End Sub Private Sub Winsock2_Connect() Winsock1.SendData "VER 4 MSNP8 CVR0" & vbCrLf End Sub Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long) Winsock2.GetData data Winsock2.GetData aux Select Case data data = Left(data, 3) Case "VER" Winsock2.SendData "CVR 5 0x0409 win 4.10 i386 MSNMSGR 5.0.0544 MSMSGS " & Text1.Text & vbCrLf Case "CVR" Winsock2.SendData "USR 6 TWN I " & Text1.Text & vbCrLf Case "USR" Dim a As Integer a = Len(aux) - 11 keys = Mid(aux, 11, a) Winsock3.Connect "login.passport.com", 443 End Select End Sub Private Sub Winsock3_Connect() Winsock3.SendData "GET /login2.srf HTTP/1.0" & vbCrLf & _ "Accept: */*" & vbCrLf & _ "Host: login.passport.com" & vbCrLf & _ "Authorization: Passport1 0.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,signin=" & Text1.Text & ",pwd=password," & keys & vbCrLf End Sub Private Sub Winsock3_DataArrival(ByVal bytesTotal As Long) Winsock3.GetData data End Sub
Y bueno eso es todo el código, ni que decir tiene que no pasa ni de la primera acción, puse un timer que capturase en todo momento el valor "data" y desde que conecta y envía el primer comando ya el data se vuelve "????????" no sé por que, porque si hago los mismos pasos desde telnet o netcat me va devolviendo bien los valores.
Alguna idea para ayudarme por favor??
Gracias