Comment effectuer une requête HTTP POST en ASP?
-
13-09-2019 - |
Question
Comment pourrais-je aller sur la création d'une requête HTTP POST avec des données en asp classique (non .net)?
La solution
Vous pouvez essayer quelque chose comme ceci:
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
où est PostData les données que vous souhaitez publier (par exemple des paires nom-valeur, document XML ou autre).
Vous devez définir la version correcte de MSXML2.ServerXMLHTTP pour correspondre à ce que vous avez installé.
La méthode ouverte prend cinq arguments, dont seuls les deux premiers sont nécessaires:
ServerXmlHttp.open Method, URL, Async, User, Password
- Méthode: "GET" ou "POST"
- URL: l'URL que vous souhaitez publier sur
- Async: la valeur par défaut est False (l'appel ne retourne pas immédiatement) - mettre à true pour un appel asynchrone
- utilisateur: le nom d'utilisateur requis pour l'authentification
- Mot de passe: le mot de passe requis pour l'authentification
Lorsque l'appel retourne, la propriété d'état détient le statut HTTP. Une valeur de 200 signifie OK - 404 moyens non trouvé, 500 signifie erreur de serveur, etc. (Voir http: // en.wikipedia.org/wiki/List_of_HTTP_status_codes pour d'autres valeurs.)
Vous pouvez obtenir la réponse sous forme de texte (propriété responseText), XML (propriété responseXML) ou un cours d'eau (propriété responseStream).
Autres conseils
Vous devez utiliser l'un des objets serveur XMLHTTP existant directement ou vous pouvez utiliser une bibliothèque qui rend la vie un peu plus facile par abstraire les choses de bas niveau loin.
Vérifier ajaxed mise en œuvre d'aller chercher une URL
Inconvénient: Vous devez configurer la bibliothèque afin de le faire fonctionner. Je ne sais pas si cela est nécessaire pour votre projet.