|VB| Dudas sobre Protocolo MSN

Iniciado por m[a]rkus, 18 Septiembre 2009, 02:19 AM

0 Miembros y 2 Visitantes están viendo este tema.

fary

gracias Marcus aora provare y te comento como me fue....

Salu2!
Un byte a la izquierda.

fary

nose que ago mal pero no me funca.... para empezar esto:
REA 5 pepe@hotmail.com mi%20super20%nick & vbCrLf
me da error en el vb ... ayuda y saludos!
Un byte a la izquierda.

m[a]rkus

Si te da error el VB explicate que error da o sino sube el codigo fuente, debes saber que para enviar eso es logico que debes estar conectado al servidor de MSN. Un consejo sube el codigo o pegalo aqui asi te ayudo mas rapido sino seria tirar piedras a ciegas.
Existen dos maneras de ser feliz en esta vida, una es hacerse el idiota y la otra serlo.


fary

Hola Marcus mira este trozo no me lo admite el vb
REA 5 pepe@hotmail.com mi%20super20%nick & vbCrLf

y est ees el codigo entero que pongo:

REA 5 pepe@hotmail.com mi%20super20%nick & vbCrLf
Private Sub Command1_Click()
SEG.SendData "REA 5 " & usuario.Text & " " & Replace(Text2.Text, " ", "%20") & vbCrLf
End Sub


pongo un boton y dos textos


haber si ves mi fallo.

Zalu2!
Un byte a la izquierda.

m[a]rkus

#14
Bueno creo o es idea mia que estas haciendo un form incluyes un boton y nada mas ?

Ese codigo que te eh puesto es el que debes poner una vez conectado POR TU PROGRAMA USANDO EL PROTOCOLO, no desde el "Windows Live messenger" para cambiar el nick de un usuario de hotmail debes hacer estos pasos:

1-) Conectar usando el usuario y contraseña desde protocolo con VB..
2-) Poner el Command y dentro del Command eso que te puse.

Pero para conectar a MSN no es cosa facil, digamos que es algo complicadillo la primera vez, ahi que conectar a varios servidores, enviar autoidentificaciónes encriptadas. De todas formas aqui te paso un tutorial...

www.telefonica.net/web2/telamarinera/docus/protocolo_msn.pdf

En ese tutorial esta todo bien solo hasta la parte que tienes que conectar al servidor "login.live.com" que debes ignorar esa parte y agregar esta función a tu programa.

Public Function Passport() As String

   oWinHTTP.Open "GET", "https://nexus.passport.com/rdr/pprdr.asp"
   oWinHTTP.send
   sFirstResponse = oWinHTTP.getAllResponseHeaders
   'sValue = oWinHTTP.getResponseHeader(sHeaderName)
   iDaLoginStart = InStr(1, sFirstResponse, "DALogin=") + 8
   iDaLoginEnd = InStr(iDaLoginStart, sFirstResponse, ",")
   sDaLogin = Mid(sFirstResponse, iDaLoginStart, iDaLoginEnd - iDaLoginStart)
   oWinHTTP.Open "GET", "https://" & sDaLogin
   oWinHTTP.setRequestHeader "Authorization", "Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=" & Replace(usuariox.Text, "@", "%40") & ",pwd=" & pass.Text & "," & Dlogin
   oWinHTTP.send
       sSecondResponse = oWinHTTP.getAllResponseHeaders
 
   If InStr(1, sSecondResponse, "Location:") > 0 Then
       iDaLocaStart = InStr(1, sSecondResponse, "Location: ") + 10
       iDaLocaEnd = InStr(iDaLocaStart, sSecondResponse, vbCrLf)
       sDaLoca = Mid(sSecondResponse, iDaLocaStart, iDaLocaEnd - iDaLocaStart)
       oWinHTTP.Open "GET", sDaLoca
       oWinHTTP.setRequestHeader "Authorization", "Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=" & Replace(usuariox.Text, "@", "%40") & ",pwd=" & pass.Text & "," & Dlogin
       oWinHTTP.send
          If (iDaKeyStart = 9) And (iDaKeyEnd = 0) Then
       'Cuando la contraseña esta mal
       Set oWinHTTP = Nothing
       fals = 1
       Call Salir
       Call Recargar
       Exit Function
       End If
       sThirdResponse = oWinHTTP.getAllResponseHeaders
       iDaKeyStart = InStr(1, sThirdResponse, "from-PP=") + 9
       iDaKeyEnd = InStr(iDaKeyStart, sThirdResponse, "'")
   If (iDaKeyStart = 9) And (iDaKeyEnd = 0) Then
       'Cuando la contraseña esta mal
       Set oWinHTTP = Nothing
       fals = 1
       Call Salir
       Call Recargar
       Exit Function
       End If
       sDaKey = Mid(sThirdResponse, iDaKeyStart, iDaKeyEnd - iDaKeyStart)
       Passport = sDaKey
        Else
       iDaKeyStart = InStr(1, sSecondResponse, "from-PP=") + 9
       iDaKeyEnd = InStr(iDaKeyStart, sSecondResponse, "'")
       If (iDaKeyStart = 9) And (iDaKeyEnd = 0) Then
       'Cuando la contraseña esta mal
       Set oWinHTTP = Nothing
       fals = 1
       Call Salir
       Call Recargar
       Exit Function
       End If
       sDaKey = Mid(sSecondResponse, iDaKeyStart, iDaKeyEnd - iDaKeyStart)
       Passport = sDaKey
       Text4.BackColor = vbGreen
       SEG.SendData "USR 4 TWN S " & Passport & vbCrLf
       Call log
 
       End If
       End Function


PD: Tienes que crear un objeto y varias variables que ya al leer el codigo te daras cuenta.

Un saludo
Existen dos maneras de ser feliz en esta vida, una es hacerse el idiota y la otra serlo.


iory330

oe markus ers un  chucho= "Maestro !!!" ;-)
Lei sobr ;-)e este post antes, en una web q por ahora no me acuerdo xq deje eso de programacion maso medio año asi que q mi cerebro se ha oxidado un poco...
la info que brindaste esta re-buena y te felicito... Se puede hacer lo mismo con VB net? xq lei hace tiempo que decian que necesitaba un protocolo o una libreria del msn o algo parecido para hacerlo funkar pero uhm... yo buske esa nota y no lo encontre asi q me rendi y comenze a hacer otro tipos d programas....

m[a]rkus

Existen dos maneras de ser feliz en esta vida, una es hacerse el idiota y la otra serlo.


m[a]rkus

Aquí en la primera pagina ahí un PDF que es un tutorial algo antiguo pero que funcionan muchas cosas y otras yo las explique en la primera pagina, solo debes leer amigo.
Existen dos maneras de ser feliz en esta vida, una es hacerse el idiota y la otra serlo.