Requêtes HTTP (tech)

De Wiki1000

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
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
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.

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;
end;


Code métierDéveloppement DSM

Outils personnels