Este artículo describe un método de módulo de visual basic6.0, que utiliza XMLHTTP para implementar las funciones Publicar y Obtener. Aunque es un código antiguo, puede reemplazar el control Inet para lograr la comunicación de datos. Vale la pena aprender de ello.
El código del módulo principal es el siguiente:
'=================================================== ========='| Nombre del módulo | XMLHTTP'| Descripción Reemplazar el control Inet para lograr la comunicación de datos'=================== === =========================================Enum público DataEnum ResponseText = 1 ResponseBody = 2End Enum Public Function GetData(PorVal URL como Cadena, ByVal DataStic como DataEnum) como variante en caso de error Ir a ERR: Dim XMLHTTP como objeto Dim DataS como cadena Dim DataB() como conjunto de bytes XMLHTTP = CreateObject("Microsoft.XMLHTTP") XMLHTTP.Open "get", Url, True XMLHTTP .enviar mientras XMLHTTP.ReadyState <> 4 DoEvents Wend '-------------------------------------- ------- La función regresaSeleccione el caso DataStic Caso ResponseText '-------------------------------- Devuelve directamente la cadena DataS = XMLHTTP.ResponseText GetData = DataS Case ResponseBody '-- ------------------------------- Devuelve directamente binario DataB = XMLHTTP.ResponseBody GetData = DataB Caso ResponseBody + ResponseText '--- - -------------------- Conversión de binario a cadena [intente cuando la cadena devuelta directamente sea confusa] DataS = BytesToStr(XMLHTTP.ResponseBody) GetData = Caso DataS Else '--------------------------------Devolución no válida GetData = "" Fin Seleccionar '----------------------------------------Liberar espacio Establecer XMLHTTP = Nada Salir de FunctionERR: GetData = ""Finalizar función Función pública PostData(ByVal StrUrl como cadena, ByVal StrData como cadena, ByVal DataStic como DataEnum) Como variante en caso de error Ir a ERR: Dim XMLHTTP como objeto Dim DataS como cadena Dim DataB() como Conjunto de bytes XMLHTTP = CreateObject("Microsoft.XMLHTTP") XMLHTTP.Open "POST", StrUrl, True XMLHTTP.setRequestHeader "Content-Length", Len(PostData) XMLHTTP.setRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded" XMLHTTP.send (StrData) Do Hasta XMLHTTP.ReadyState = 4 DoEvents Loop '--------------------------------La función devuelve Select Case DataStic Case ResponseText '------------------------------- Devuelve directamente la cadena DataS = XMLHTTP.ResponseText PostData = DataS Case ResponseBody '-- --- ---------------------- Devuelve directamente binario DataB = XMLHTTP.ResponseBody PostData = DataB Caso ResponseBody + ResponseText '---- -- --------------------- Conversión de binario a cadena [intente cuando la cadena devuelta directamente sea confusa] DataS = BytesToStr(XMLHTTP.ResponseBody) PostData = DataS Case Else '- -------------------------------Devolución no válida PostData = "" End Select '------------------------------------Liberar espacio Establecer XMLHTTP = Nada Salir de la funciónERR : PostData = "" Función de fin BytesToStr(ByVal vIn) Como cadena strReturn = "" Para i = 1 a LenB(vIn) ThisCharCode = AscB(MidB(vIn, i, 1)) Si ThisCharCode < &H80 Entonces strReturn = strReturn & Chr(ThisCharCode) De lo contrario NextCharCode = AscB(MidB(vIn, i + 1, 1)) strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode)) i = i + 1 End If Next BytesToStr = strReturnEnd Función