Come eseguire una richiesta HTTP POST in ASP?
-
13-09-2019 - |
Domanda
Come potrei fare per la creazione di una richiesta HTTP con i dati POST in ASP classico (non .net)?
Soluzione
Si può provare qualcosa di simile:
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
dove PostData sono i dati che si desidera inviare (ad esempio coppie nome-valore, documenti XML o altro).
È necessario impostare la versione corretta di MSXML2.ServerXMLHTTP per corrispondere a ciò che è stato installato.
Il metodo aperto accetta cinque parametri, di cui sono tenuti solo i primi due:
ServerXmlHttp.open Method, URL, Async, User, Password
- Metodo: "GET" o "POST"
- URL: l'URL che si desidera inviare a
- asincrona: il valore predefinito è False (la chiamata non restituisce immediatamente) - impostata su true per una chiamata asincrona
- utente: il nome utente richiesto per l'autenticazione
- Password: la password richiesta per l'autenticazione
Quando la chiamata restituisce, la proprietà di stato detiene lo stato HTTP. Un valore di 200 significa OK - 404 significa non trovato, 500 significa errore del server, ecc (Vedi http: // en.wikipedia.org/wiki/List_of_HTTP_status_codes per altri valori.)
È possibile ottenere la risposta come testo (proprietà responseText), XML (proprietà responseXML) oppure un flusso (proprietà responseStream).
Altri suggerimenti
È necessario utilizzare uno dei server xmlhttp di oggetti esistenti direttamente o è possibile utilizzare una libreria che rende la vita un po 'più facile astraendo la roba a basso livello di via.
ajaxed implementazione di andare a prendere un URL
Svantaggi: È necessario configurare la libreria in modo da farlo funzionare. Non so se questo è necessario per il vostro progetto.