Requêtes HTTP (tech)

De Wiki1000
(Différences entre les versions)
(Propriétés)
 
(11 révisions intermédiaires par 2 utilisateurs sont masquées)
Ligne 4 : Ligne 4 :
 
===Propriétés===
 
===Propriétés===
 
{|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]]
 
|[[ProxyHost (http)|ProxyHost]]
Ligne 31 : Ligne 37 :
 
|[[Url (http)|Url]]
 
|[[Url (http)|Url]]
 
|Url de la requête
 
|Url de la requête
|-
 
|[[SafeUrl (http)|SafeUrl]]
 
|Url encodée 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 52 : 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 73 : 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 84 : 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étierDéveloppement DSM

Outils personnels