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 índice general")
Inicio = InStr(Inicio + Len("INPC í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.