Requêtes HTTP (tech)
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 —