Requêtes HTTP (tech)
De Wiki1000
(Différences entre les versions)
(Nouvelle page : ===Introduction=== Les requêtes HTTP sont des objets techniques permettant d'exécuter des requêtes HTTP. ===Propriétés=== {|class="wikitable" |- | | |} ===Opérations=== {|cl...) |
(→Propriétés) |
||
(13 révisions intermédiaires par 2 utilisateurs sont masquées) | |||
Ligne 5 : | Ligne 5 : | ||
{|class="wikitable" | {|class="wikitable" | ||
|- | |- | ||
− | | | + | |[[AuthenUserName (http)|AuthenUserName]] |
− | | | + | |Nom d'utilisateur pour un accès authentifié |
+ | |- | ||
+ | |[[AuthenPassword (http)|AuthenPassword]] | ||
+ | |Mot de passe de l'utilisateur pour un accès authentifié | ||
+ | |- | ||
+ | |[[ProxyHost (http)|ProxyHost]] | ||
+ | |Nom de serveur du proxy | ||
+ | |- | ||
+ | |[[ProxyPort (http)|ProxyPort]] | ||
+ | |Numéro de port du proxy | ||
+ | |- | ||
+ | |[[ProxyUserName (http)|ProxyUserName]] | ||
+ | |Nom d'utilisateur du proxy | ||
+ | |- | ||
+ | |[[ProxyPassword (http)|ProxyPassword]] | ||
+ | |Mot de passe de l'utilisateur du proxy | ||
+ | |- | ||
+ | |[[PostDataStr (http)|PostDataStr]] | ||
+ | |Données à poster | ||
+ | |- | ||
+ | |[[PostDataFile (http)|PostDataFile]] | ||
+ | |Nom de fichier contenant les données à poster. | ||
+ | |- | ||
+ | |[[PostContentType (http)|PostContentType]] | ||
+ | |Type de contenu des données à poster | ||
+ | |- | ||
+ | |[[Method (http)|Method]] | ||
+ | |Type de méthode http | ||
+ | |- | ||
+ | |[[Url (http)|Url]] | ||
+ | |Url de la requête | ||
+ | |- | ||
+ | |[[TimeOut (http)|TimeOut]] | ||
+ | |Délai d'attente de la réponse en ms. (-1 pour attente infinie) | ||
+ | |- | ||
+ | |[[ResponseFileName (http)|ResponseFileName]] | ||
+ | |Nom de fichier recevant la réponse (GET) | ||
+ | |- | ||
+ | |[[ResponseStr (http)|ResponseStr]] | ||
+ | |Chaîne contenant la réponse (GET) | ||
+ | |- | ||
+ | |[[HandleRedirects (http)|HandleRedirects]] | ||
+ | |Accepte les redirections | ||
+ | |- | ||
+ | |[[RedirectMaximum (http)|RedirectMaximum]] | ||
+ | |Nombre maximum de redirections | ||
+ | |- | ||
+ | |[[SSL (http)|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]] | ||
+ | |Accepte les cookies | ||
+ | |- | ||
+ | |[[RequestInfos (http)|RequestInfos]] | ||
+ | |Informations de l'entête de requête. | ||
+ | |- | ||
+ | |[[ResponseInfos (http)|ResponseInfos]] | ||
+ | |Informations de l'entête de réponse. | ||
+ | |- | ||
+ | |[[ErrorCode (http)|ErrorCode]] | ||
+ | |Code d'erreur. | ||
+ | |- | ||
+ | |[[ErrorText (http)|ErrorText]] | ||
+ | |Texte de l'erreur. | ||
+ | |- | ||
+ | |[[ErrorContent (http)|ErrorContent]] | ||
+ | |Contenu de l'erreur. | ||
+ | |- | ||
+ | |[[ErrorInfos (http)|ErrorInfos]] | ||
+ | |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 12 : | Ligne 96 : | ||
{|class="wikitable" | {|class="wikitable" | ||
|- | |- | ||
− | | | + | |[[Execute (http)|Execute]] |
− | | | + | |Exécute la requête |
+ | |- | ||
+ | |[[LoadXMLDocument (http)|LoadXMLDocument]] | ||
+ | |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 —