Requêtes HTTP (tech)
De Wiki1000
(Différences entre les versions)
(→Propriétés) |
(→Exemples) |
||
Ligne 171 : | Ligne 171 : | ||
end; | end; | ||
</source> | </source> | ||
+ | |||
+ | |||
+ | '''Utilisation de POST''' | ||
+ | <source lang='delphi'> | ||
+ | var http:THttpClient; docSend,docReceived:TxmlDocument; itm : TXmlItem; | ||
+ | begin | ||
+ | docSend := TxmlDocument.Create(nil); | ||
+ | docReceived := TxmlDocument.Create(nil); | ||
+ | |||
+ | itm := TXmlItem.Create(docSend); | ||
+ | itm.ItemName := 'document'; | ||
+ | itm := TXmlItem.Create(itm); | ||
+ | itm.ItemName := 'message'; | ||
+ | itm.Text := 'test'; | ||
+ | |||
+ | |||
+ | http := ThttpClient.Create(nil); | ||
+ | http.Method := hrmPost; | ||
+ | http.PostDataStr := docSend.SaveToString; | ||
+ | http.PostContentType := 'text/xml'; | ||
+ | http.URL := 'http://<monServeur>/service_test_wsdl/server/rpc.l1000/info.services'; | ||
+ | try | ||
+ | http.Execute; | ||
+ | http.LoadXMLDocument(docReceived); | ||
+ | ShowMessage(docReceived.SaveToString); | ||
+ | except | ||
+ | ShowMessage(http.ErrorText); | ||
+ | end; | ||
+ | end; | ||
+ | end; | ||
+ | </source> | ||
+ | |||
{{Footer|Code métier}} | {{Footer|Code métier}} | ||
[[category:Objets techniques]] | [[category:Objets techniques]] | ||
[[category:Objets itérateurs]] | [[category:Objets itérateurs]] |
Version du 11 janvier 2012 à 16:25
Sommaire |
Introduction
Les requêtes HTTP sont des objets techniques permettant d'exécuter des requêtes HTTP.
Propriétés
AuthenUserName | Nom d'utilisateur pour un accès authentifié |
AuthenPassword | Mot de passe de l'utilisateur pour un accès authentifié |
ProxyHost | Nom de serveur du proxy |
ProxyPort | Numéro de port du proxy |
ProxyUserName | Nom d'utilisateur du proxy |
ProxyPassword | Mot de passe de l'utilisateur du proxy |
PostDataStr | Données à poster |
PostDataFile | Nom de fichier contenant les données à poster. |
PostContentType | Type de contenu des données à poster |
Method | Type de méthode http |
Url | Url de la requête |
TimeOut | Délai d'attente de la réponse |
ResponseFileName | Nom de fichier recevant la réponse (GET) |
ResponseStr | Chaîne contenant la réponse (GET) |
HandleRedirects | Accepte les redirections |
RedirectMaximum | Nombre maximum de redirections |
SSL | Accepte SSL |
AcceptCookies | Accepte les cookies |
RequestInfos | Informations de l'entête de requête. |
ResponseInfos | Informations de l'entête de réponse. |
ErrorCode | Code d'erreur. |
ErrorText | Texte de l'erreur. |
ErrorContent | Contenu de l'erreur. |
ErrorInfos | Informations sur l'erreur. |
Opérations
Execute | Exécute la requête |
LoadXMLDocument | Charge un document XML avec la réponse de la requête. |
Exemples
Utilisation de GET
//Procedure TestHttp; var http:THttpClient; begin http := ThttpClient.Create(nil); http.URL := 'http://www.google.fr'; try http.Execute; ShowMessage(http.ResponseStr); except ShowMessage(http.ErrorText); end; end;
Utilisation sur un accès authentifié
//Procedure TestHttp; var http:THttpClient; begin http := ThttpClient.Create(nil); http.URL := 'http://localhost/secure/test.html'; http.AuthenUserName := 'sage'; http.AuthenPassword := 'sage'; try http.Execute; ShowMessage(http.ResponseStr); except ShowMessage(http.ErrorText); end; end;
Utilisation sur un accès authentifié, informations dans l'URL
//Procedure TestHttp; var http:THttpClient; begin http := ThttpClient.Create(nil); http.URL := 'http://sage:sage@localhost/secure/test.html'; try http.Execute; ShowMessage(http.ResponseStr); except ShowMessage(http.ErrorText); end; end;
Utilisation sur un port particulier
//Procedure TestHttp; var http:THttpClient; begin http := ThttpClient.Create(nil); http.URL := 'http://localhost:8080/test.html'; try http.Execute; ShowMessage(http.ResponseStr); except ShowMessage(http.ErrorText); end; end;
Chargement d'un document XML
var http:THttpClient; doc:TxmlDocument; begin doc := TxmlDocument.Create(nil); http := ThttpClient.Create(nil); http.URL := 'http://www.playr.ie/ns0.wsdl'; try http.Execute; http.LoadXMLDocument(doc); ShowMessage(doc.SaveToString); except ShowMessage(http.ErrorText); end; end;
Utilisation de POST
var http:THttpClient; docSend,docReceived:TxmlDocument; itm : TXmlItem; begin docSend := TxmlDocument.Create(nil); docReceived := TxmlDocument.Create(nil); itm := TXmlItem.Create(docSend); itm.ItemName := 'document'; itm := TXmlItem.Create(itm); itm.ItemName := 'message'; itm.Text := 'test'; http := ThttpClient.Create(nil); http.Method := hrmPost; http.PostDataStr := docSend.SaveToString; http.PostContentType := 'text/xml'; http.URL := 'http://<monServeur>/service_test_wsdl/server/rpc.l1000/info.services'; try http.Execute; http.LoadXMLDocument(docReceived); ShowMessage(docReceived.SaveToString); except ShowMessage(http.ErrorText); end; end; end;
— Code métier — Développement DSM —