Requêtes HTTP (tech)

De Wiki1000
(Différences entre les versions)
(Propriétés)
(Propriétés)
 
(8 révisions intermédiaires par 2 utilisateurs sont masquées)
Ligne 39 : Ligne 39 :
 
|-
 
|-
 
|[[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 55 : 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 76 : 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 171 : Ligne 186 :
 
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;
 +
</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 à 10: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étierDéveloppement DSM





Whos here now:   Members 0   Guests 0   Bots & Crawlers 1
 
Outils personnels