«POST» manuellement des données d'un formulaire dans un service Web
Bien que peu documenter il est possible de passer manuellement des paramètres de formulaires à un service Web. Si par exemple, nous avons le script PHP «monservice.php» fournissant un service de base comme ceci :
- <?php
- /*
- Ce script permet de générer le service web démonstrateur
- */
- header('Content-type: application/xml');
- header('Cache-Control: no-cache, must-revalidate');
-
- if(!isset($_POST["func"])) echo "function name expected"; else {
- switch($_POST["func"]) {
- case "updateUser":
- echo "ok";
- break;
- default:
- echo "bad function name";
- break;
- }
- }
-
- ?>
on peut lui transmettre à l'aide du code source ASP 3.0 suivant l'appel à une fonction «updateUser» et recevoir le message de celui-ci:
- <%
- ' "POST" manuellement des données d'un formulaire à un service Web en ASP
- Const MULTIPART_BOUNDARY = "9876543210----------0123456789"
-
- Sub addFormParam(strData,variable,value)
- strData = strData & "--" & MULTIPART_BOUNDARY & vbCrLf
- strData = strData & "Content-Disposition: form-data; name=""" & variable & """" & vbCrLf & vbCrLf
- strData = strData & value & vbCrLf
- End Sub
-
- Set HttpReq = Server.CreateObject("MSXML2.ServerXMLHTTP" )
- HttpReq.open "POST", "http://feuille/service/test/monservice.php", False
- HttpReq.SetRequestHeader "Content-Type", "multipart/form-data; boundary=" & MULTIPART_BOUNDARY
- strData = ""
- addFormParam strData,"func","updateUser"
- HttpReq.SetRequestHeader "Content-Length", Len(strData) + 2
- HttpReq.Send strData
- Response.Write HttpReq.responseText
- %>
L'exécution de ses scripts retourner le message suivant :
okVoir également
Articles - Comparatif des méthodes «POST» ou «GET» ?
Dernière mise à jour : Samedi, le 20 juin 2015