Este artículo presenta principalmente el método de ASP que simula la solicitud POST para enviar datos de forma asincrónica. Este artículo utiliza MSXML2.SERVERXMLHTTP.3.0 para implementar la solicitud POST. Los amigos que lo necesiten pueden consultar lo siguiente.
A veces es necesario obtener cierta información de un sitio web remoto y el servidor restringe el método GET y solo puede enviarla a través de datos POST. En este momento, podemos simular el envío de datos de publicación a través de ASP. . La siguiente es una función relativamente concisa y fácil de entender que escribí yo mismo.
En primer lugar, se necesita una función para la configuración de codificación, porque asp generalmente es gbk y la mayoría de los sitios web estándar ahora usan utf-8. Entonces es necesaria la conversión.
Copie el código de código de la siguiente manera:
función BytesToBstr(cuerpo,Cset)
corriente de objetos tenue
establecer objstream = Server.CreateObject("adodb.stream")
objstream.Tipo = 1
objstream.Modo =3
objstream.Abrir
objstream.Escribir cuerpo
objstream.Posición = 0
objstream.Tipo = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Cerrar
establecer objstream = nada
Función final
El segundo paso es usar componentes para enviar datos de publicaciones. Utilicé MSXML2.SERVERXMLHTTP.3.0 aquí. Por supuesto, también se pueden utilizar otros.
Copie el código de código de la siguiente manera:
función PostHTTPPage(url,datos)
dimHttp
establecer Http=server.createobject("MSXML2.SERVERXMLHTTP.3.0")
Http.open "POST", URL, falso
Http.setRequestHeader "TIPO DE CONTENIDO", "aplicación/x-www-form-urlencoded"
Http.enviar(datos)
si Http.readystate<>4 entonces
función de salida
terminar si
PostHTTPPage=bytesToBSTR(Http.responseBody,"utf-8")
establecer http=nada
si err.number<>0 entonces err.Clear
Función final
Así es como funciona:
Copie el código de código de la siguiente manera:
PostHTTPPage("www.vevb.com","str1=a&str2=b&str3=c")