Este artigo apresenta principalmente o método de simulação de solicitação POST do ASP para enviar dados de forma assíncrona. Este artigo usa MSXML2.SERVERXMLHTTP.3.0 para implementar a solicitação POST. Amigos que precisam podem consultar o seguinte.
Às vezes é necessário obter certas informações de um site remoto, e o servidor restringe o método GET e só pode enviá-las por meio de dados POST. Neste momento, podemos simular o envio de dados de postagem por meio de asp. . A seguir está uma função relativamente concisa e fácil de entender que eu mesmo escrevi.
Em primeiro lugar, é necessária uma função para configuração de codificação, porque asp geralmente é gbk, e a maioria dos sites padrão agora usa utf-8. Portanto, a conversão é necessária.
Copie o código do código da seguinte forma:
função BytesToBstr(corpo,Cset)
escurecer objstream
definir objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Modo =3
objstream.Open
objstream.Escrever corpo
objstream.Posição = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Fechar
definir objstream = nada
Função final
A segunda etapa é usar componentes para enviar dados de postagem. Usei MSXML2.SERVERXMLHTTP.3.0 aqui. Claro que outros também podem ser usados.
Copie o código do código da seguinte forma:
função PostHTTPPage(url,dados)
dimHttp
definir Http=server.createobject("MSXML2.SERVERXMLHTTP.3.0")
Http.open "POST",url,falso
Http.setRequestHeader "TIPO DE CONTEÚDO", "aplicativo/x-www-form-urlencoded"
HTTP.enviar(dados)
se Http.readystate<>4 então
função de saída
Terminar se
PostHTTPPage=bytesToBSTR(Http.responseBody,"utf-8")
definir http = nada
se err.número<>0 então err.Clear
Função final
É assim que funciona:
Copie o código do código da seguinte forma:
PostHTTPPage("www.vevb.com","str1=a&str2=b&str3=c")