InetDownload

Appelle une url HTTP via le proxy et retourne le corps de la réponse

Syntaxe

function InetDownload(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.

  • Proxy HTTP :
    • L'url va être soumise au proxy HTTP défini dans les options internet du poste.
    • Cette fonction est donc généralement utilisée pour accéder à des ressources sur internet.
    • Attention : en fonction des méthodes d'authentification exigées par le proxy internet, Qubes pourra se voir refuser l'accès à l'URL
    • Pour accéder à des ressources du réseau local (qui n'a pas besoin du proxy), il faut utiliser InetDownloadDirect.
      En effet, cela évite un échec notamment si le proxy est mal paramétré, ou si le proxy ne trouve pas les ressources locales.
      Qui plus est, il induit un temps de latence complémentaire.
  • 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.

A partir de Qubes 6.1, quand cette fonction est appelée depuis Windows 2008, Vista ou une version ultérieure la compression gzip/deflate est supportée et décodée automatiquement.

Exemples

var s : String;

// Récupère une image sur internet et l'enregistre dans un fichier
s:=InetDownload('http://www.creative-it.net/images/logoCIT.png', 1000);
if s<>'' then SaveStringToFile('D:\logoCIT.png', s);

// Récupère une page web sur internet et l'affiche dans une HTMLBox
s:=InetDownload('http://www.google.fr', 1000);
HTMLBox(s, 800, 600);

Classification

SysUtils