Requêtes HTTP (tech)

De Wiki1000
(Différences entre les versions)
(Exemples)
Ligne 210 : Ligne 210 :
 
     ShowMessage(http.ErrorText);
 
     ShowMessage(http.ErrorText);
 
   end;
 
   end;
end;
 
 
end;
 
end;
 
</source>
 
</source>

Version du 10 mars 2020 à 10:04

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)

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