Requêtes HTTP (tech)
De Wiki1000
(Différences entre les versions)
(→Propriétés) |
(→Propriétés) |
||
(10 révisions intermédiaires par 2 utilisateurs sont masquées) | |||
Ligne 8 : | Ligne 8 : | ||
|Nom d'utilisateur pour un accès authentifié | |Nom d'utilisateur pour un accès authentifié | ||
|- | |- | ||
− | |[[ | + | |[[AuthenPassword (http)|AuthenPassword]] |
|Mot de passe de l'utilisateur pour un accès authentifié | |Mot de passe de l'utilisateur pour un accès authentifié | ||
|- | |- | ||
Ligne 37 : | Ligne 37 : | ||
|[[Url (http)|Url]] | |[[Url (http)|Url]] | ||
|Url de la requête | |Url de la requête | ||
− | |||
− | |||
− | |||
|- | |- | ||
|[[TimeOut (http)|TimeOut]] | |[[TimeOut (http)|TimeOut]] | ||
− | |Délai d'attente de la réponse | + | |Délai d'attente de la réponse en ms. (-1 pour attente infinie) |
|- | |- | ||
|[[ResponseFileName (http)|ResponseFileName]] | |[[ResponseFileName (http)|ResponseFileName]] | ||
Ligne 58 : | Ligne 55 : | ||
|[[SSL (http)|SSL]] | |[[SSL (http)|SSL]] | ||
|Accepte SSL | |Accepte SSL | ||
+ | |- | ||
+ | |[[CertSerial (http)|CertSerial]] | ||
+ | |Défini le numéro de série du certificat SSL a utiliser | ||
+ | |- | ||
+ | |[[CertIssuer (http)|CertIssuer]] | ||
+ | |Défini l'émetteur du série du certificat SSL a utiliser | ||
|- | |- | ||
|[[AcceptCookies (http)|AcceptCookies]] | |[[AcceptCookies (http)|AcceptCookies]] | ||
Ligne 79 : | Ligne 82 : | ||
|[[ErrorInfos (http)|ErrorInfos]] | |[[ErrorInfos (http)|ErrorInfos]] | ||
|Informations sur l'erreur. | |Informations sur l'erreur. | ||
+ | |- | ||
+ | |[[RequestCustomHeader (http)|RequestCustomHeader]] | ||
+ | |Accès aux customs headers de la requête.(7.10) | ||
+ | |- | ||
+ | |[[RequestAccept (http)|RequestAccept]] | ||
+ | |Accès à la propriété Accept de la requête.(7.10) | ||
+ | |- | ||
+ | |[[ServiceProvider (http)|ServiceProvider (9.20)]] | ||
+ | |Nom du fournisseur de donnée | ||
|} | |} | ||
Ligne 90 : | Ligne 102 : | ||
|Charge un document XML avec la réponse de la requête. | |Charge un document XML avec la réponse de la requête. | ||
|} | |} | ||
+ | |||
+ | ===Exemples=== | ||
+ | '''Utilisation de GET''' | ||
+ | <source lang='delphi'> | ||
+ | //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; | ||
+ | </source> | ||
+ | |||
+ | '''Utilisation sur un accès authentifié''' | ||
+ | <source lang='delphi'> | ||
+ | //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; | ||
+ | </source> | ||
+ | |||
+ | '''Utilisation sur un accès authentifié, informations dans l'URL''' | ||
+ | <source lang='delphi'> | ||
+ | //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; | ||
+ | </source> | ||
+ | |||
+ | '''Utilisation sur un port particulier''' | ||
+ | <source lang='delphi'> | ||
+ | //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; | ||
+ | </source> | ||
+ | |||
+ | '''Chargement d'un document XML''' | ||
+ | <source lang='delphi'> | ||
+ | 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; | ||
+ | </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; | ||
+ | </source> | ||
+ | |||
{{Footer|Code métier}} | {{Footer|Code métier}} | ||
[[category:Objets techniques]] | [[category:Objets techniques]] | ||
[[category:Objets itérateurs]] | [[category:Objets itérateurs]] |
Version actuelle en date du 9 juillet 2021 à 09:40
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 —