Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: czar9 en Julio 05, 2011, 10:47:20 pm

Título: Ayuda, peticones GET o POST en vb6
Publicado por: czar9 en Julio 05, 2011, 10:47:20 pm
hola he usado el control que trae la vb6 con el metodo navigate para las peticiones GET y un XMLHTTP para peticiones POST  pero me salen errores en Win7 ( ieframe/-1  y error de que no encuentra el recurso) alguien conoce otro metodo?

Gracias y saludos
Título: Re:Ayuda, peticones GET o POST en vb6
Publicado por: raul338 en Julio 05, 2011, 10:57:53 pm
Usar sockets y el protocolo HTTP, no es dificil, pero depende de que tipo de clase sockets manejes :P
Título: Re:Ayuda, peticones GET o POST en vb6
Publicado por: raul338 en Julio 06, 2011, 11:22:42 am
Yo tengo esto para hacer funcionar el cSocketMaster para hacer peticiones HTTP
Código: (vb) [Seleccionar]
Private Function SendRequest(sock As CSocketMaster, ByVal csHost As String, ByVal csPage As String, Optional ByVal PostData As String, Optional csPort as String = "80")
    Dim s As String
    If PostData <> vbNullString Then
        s = "POST /"
    Else
        s = "GET /"
    End If
   
    PostData = URLencode(Encriptar(PostData))
   
    s = s & csPage & " HTTP/1.1" & vbNewLine
    s = s & "Host: " & csHost
    If csPort <> "80" Then s = s & ":" & csPort
    s = s & vbNewLine
    s = s & "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; es-ES; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10" & vbNewLine
    s = s & "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & vbNewLine
    s = s & "Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3" & vbNewLine
    s = s & "Accept -Encoding: gzip , deflate" & vbNewLine
    If cookie <> vbNullString Then s = s & "Cookie: " & cookie
    s = s & "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" & vbNewLine
    s = s & "Keep-Alive: 115" & vbNewLine
    If PostData <> "" Then
        s = s & "Content-type: application/x-www-form-urlencoded" & vbNewLine
        s = s & "Content-length: " & Len(PostData) & vbNewLine
    End If
    s = s & "Connection: close" & vbNewLine
    s = s & vbNewLine & PostData
   
    If sock.State = sckConnected Then Call sock.SendData(s)
End Function

Primero debes conectar al host en el puerto 80 (o el que sea) y una vez conectado le envias el string que genera esa funcion :P