Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Enviar Datos a Pagina Web desde VB6

Estas en el tema de Enviar Datos a Pagina Web desde VB6 en el foro de Visual Basic clásico en Foros del Web. Estoy tratando de consultar la inflación en México de un determinado mes y para ello quiero utilizar esta pagina http://www.banxico.org.mx/tipcamb/inflacionAction.do , es un formulario que ...
  #1 (permalink)  
Antiguo 25/06/2013, 11:24
 
Fecha de Ingreso: noviembre-2012
Mensajes: 74
Antigüedad: 11 años, 4 meses
Puntos: 3
Enviar Datos a Pagina Web desde VB6

Estoy tratando de consultar la inflación en México de un determinado mes y para ello quiero utilizar esta pagina http://www.banxico.org.mx/tipcamb/inflacionAction.do, es un formulario que contiene dos variables que se envían por el metodo POST, las variables son el año cuyo name es anio(GLOBAL_MEN_M) y el mes cuyo name es mes(GLOBAL_MEN_M), también veo que funciona enviando las variables con el metodo GET. El código que utilizo desde VB6 es el siguiente.

Código:
Function Inflacion(Año As Integer, Mes As String) As Double
    Dim xml As Object
    Dim result As String
    Dim Inicio As Double
    Dim longitud As Double
    Dim Variables As String
    If Año < 1969 Or Año > Year(Now) Then
        Inflacion = 0
        Exit Function
    End If
    If Mes <> "Ene" And Mes <> "Feb" And Mes <> "Mar" And Mes <> "Abr" And Mes <> "May" And Mes <> "Jun" And Mes <> "Jul" And Mes <> "Ago" And Mes <> "Sep" And Mes <> "Oct" And Mes <> "Nov" And Mes <> "Dic" Then
        Inflacion = 0
        Exit Function
    End If
    Variables = "mes(GLOBAL_MEN_M)=" & Mes & "&anio(GLOBAL_MEN_M)=" & Año
    Set xml = CreateObject("MSXML2.ServerXMLHTTP")
    xml.Open "POST", "http://www.banxico.org.mx/tipcamb/inflacionAction.do", False
    xml.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
    xml.setRequestHeader "Content-length", Len(Variables)
    xml.setRequestHeader "Connection", "close"
    xml.Send Variables
    result = StrConv(xml.responseBody, vbUnicode)
    Inicio = InStr(1, result, "INPC &iacute;ndice general")
    Inicio = InStr(Inicio + Len("INPC &iacute;ndice general</TD>") + 1, result, ">") + 1
    longitud = InStr(Inicio, result, "</") - Inicio
    Inflacion = Val(Mid(result, Inicio, longitud))
    Set xml = Nothing
End Function
pero estoy obteniendo la pagina de error HTTP Status 500 Error interno del servidor cuando debería estar obteniendo la pagina con la inflación del mes y año enviados.

¿Alguien conoce alguna forma de resolverlo? o ¿alguien conoce otra forma de hacer lo que quiero? ¿alguna pagina donde pueda consultar la inflación mensual de México?

Gracias.

Etiquetas: form, funcion, vb6
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:07.