Requêtes HTTP (tech)
De Wiki1000
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 en ms. (-1 pour attente infinie) |
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 |
CertSerial | Défini le numéro de série du certificat SSL a utiliser |
CertIssuer | Défini l'émetteur du série du certificat SSL a utiliser |
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. |
RequestCustomHeader | Accès aux customs headers de la requête.(7.10) |
RequestAccept | Accès à la propriété Accept de la requête.(7.10) |
ServiceProvider (9.20) | Nom du fournisseur de donnée |
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;
— Code métier — Développement DSM —