Pergunta

Como eu iria sobre a criação de uma solicitação HTTP com dados POST em asp clássico (não .net)?

Foi útil?

Solução

Você pode tentar algo como isto:

Set ServerXmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
ServerXmlHttp.open "POST", "http://www.example.com/page.asp"
ServerXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
ServerXmlHttp.setRequestHeader "Content-Length", Len(PostData)
ServerXmlHttp.send PostData

If ServerXmlHttp.status = 200 Then
    TextResponse = ServerXmlHttp.responseText
    XMLResponse = ServerXmlHttp.responseXML
    StreamResponse = ServerXmlHttp.responseStream
Else
    ' Handle missing response or other errors here
End If

Set ServerXmlHttp = Nothing

onde PostData são os dados que deseja publicar (por exemplo pares nome-valor, documentos XML ou qualquer outro).

Você precisará configurar a versão correta do MSXML2.ServerXMLHTTP para coincidir com o que você tem instalado.

O método aberto leva cinco argumentos, dos quais apenas os dois primeiros são necessários:

ServerXmlHttp.open Method, URL, Async, User, Password
  • Método: "GET" ou "POST"
  • URL: o URL que você deseja publicar
  • Async: o padrão é False (a chamada não retorna imediatamente) - definida como True para uma chamada assíncrona
  • Usuário: o nome de usuário necessário para a autenticação
  • Senha: a senha necessária para autenticação

Quando a chamada retorna, a propriedade estado detém o status HTTP. Um valor de 200 meios OK - 404 meios não encontrados, 500 meios de erro do servidor etc. (Veja http: // en.wikipedia.org/wiki/List_of_HTTP_status_codes para outros valores.)

Você pode obter a resposta como texto (responseText propriedade), XML (propriedade responseXML) ou um fluxo (propriedade responseStream).

Outras dicas

Você deve usar um dos servidores xmlhttp existente objetos diretamente ou você pode usar uma biblioteca que torna a vida um pouco mais fácil, abstraindo as coisas de baixo nível de distância.

Verifique Ajaxed implementação de buscar um URL

Desvantagem: Você precisa configurar a biblioteca, a fim de torná-lo trabalho. Não sei se isso é necessário para o seu projeto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top