InetDownloadDirect

Appelle directement une url HTTP et retourne le corps de la réponse du serveur

Syntaxe

function InetDownloadDirect(url: String; timeOutMs: Integer): String
url: Adresse de la ressource http appelée
timeOutMs: Temps en millisecondes au bout duquel l'appel est interrompu s'il n'a pas eu de réponse

Remarques

Cette fonction est dépréciée à partir de la version Qubes 11.0
A partir de Qubes 6.3 il est préférable d'utiliser HttpQuery, qui est basée sur WinHTTP plutôt que WinInet.

  • Serveur HTTP :
    • Cette fonction établit une connexion directe avec le serveur HTTP ciblé par l'url. Il doit donc être accessible directement sans passer par un proxy.
    • Cette fonction est donc généralement utilisée pour accéder à des ressources du réseau local.
    • Pour accéder à des ressources sur internet (souvent protégé par un proxy HTTP), utiliser InetDownload
  • Time-out :
    • Il s'agit du temps maximum que Qubes va attendre avant de considérer qu'il ne recevra pas de réponse
    • La fonction renvoie la chaîne retournée par le serveur dès qu'elle est reçue, sans attendre le time-out
    • Mais si le serveur n'a pas répondu avant l'expiration du time-out, la fonction renvoie une chaîne vide
    • De façon pratique, timeOutMs ne doit pas être trop court, pour laisser au moins le temps à l'appel de se faire (recherche DNS, envoi, ...) et pour laisser ensuite le temps au serveur de traiter la demande.
  • Usage classique :
    • Cette fonction est notamment utile pour appeler un traitement défini dans un WebProcess du QubesExpress et pour recevoir sa réponse.

Exemples

// Lance le script "Traitement" du web process W001 et attend au plus 2s sa réponse
var s : String;
s:=InetDownloadDirect('http://ServeurQubes/WebProcess.cit/W001/Traitement', 2000);
if s='' then ErrorDlg('Le serveur ne répond pas')
else InformationDlg('Réponse du serveur : '+s);

Classification

SysUtils