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