Functions > Network >


InetGet

T�l�charge un fichier depuis internet en utilisant le protocole HTTP, HTTPS ou FTP.

InetGet ( "URL", "filename" [, options = 0 [, background = 0]] )

Param�tres

URL URL du fichier � t�l�charger. Voir Remarques ci-dessous.
filename Nom complet du fichier local dans lequel t�l�charger.
options [optionnel]     $INET_LOCALCACHE (0) = Obtient le fichier depuis le cache local si disponible (d�faut).
    $INET_FORCERELOAD (1) = Force le rechargement depuis le site distant.
    $INET_IGNORESSL (2) = Ignore toutes les erreurs SSL (avec connexions HTTPS).
    $INET_ASCIITRANSFER (4) = Utilise ASCII lors du transfert de fichiers avec le protocole FTP (Ne peut pas �tre combin� avec le flag $INET_BINARYTRANSFER (8)).
    $INET_BINARYTRANSFER (8) = Utilise BINARY lors du transfert de fichiers avec le protocole FTP (Ne peut pas �tre combin� avec le flag $INET_ASCIITRANSFER (4)). Ceci est le mode de transfert par d�faut si aucun n'est fourni.
    $INET_FORCEBYPASS (16) = Force la connexion en ligne par contournement (Voir Remarques).

Ces constantes sont d�finies dans InetConstants.au3
background [optionnel]
    $INET_DOWNLOADWAIT (0) = Attend que le t�l�chargement soit termin� avant de continuer (par d�faut).
    $INET_DOWNLOADBACKGROUND (1) = Retourne imm�diatement et t�l�charge en arri�re-plan (Voir Remarques).

Les constantes sont d�finies dans InetConstants.au3

Valeur de retour

Succ�s: La valeur de retour change si le t�l�chargement est en arri�re-plan ou pas:
Arri�re-plan: Retourne un handle.
Attente: Retourne le nombre d'octets t�l�charg�s.
Echec: Arri�re-plan: Retourne un handle.
Attente: Retourne 0 et d�finit @error <> 0.

Remarques

Internet Explorer 3 ou plus r�cent doit �tre install� pour faire fonctionner cette fonction.

Utilisez le handle retourn� par InetGetInfo() pour d�terminer si il y a une erreur dans le t�l�chargement.
Le handle retourn� doit �tre ferm� avec InetClose().

Le param�tre URL devrait �tre de la forme "http://www.lesite.fr/chemin/fichier.html" - tout comme une adresse que vous tapez dans votre navigateur web.

Pour utiliser un nom d'utilisateur et un mot de passe lors de la connexion, pr�fixez simplement le nom de serveur avec "nomutilisateur:motdepasse@", c'est-�-dire:
"http://nomutilisateur:[email protected]"


Notes � propos du param�tre "background"

Par d�faut, la fonction attend que le t�l�chargement soit termin� avant d'envoyer la valeur de retour. Si le param�tre background est mis � $INET_DOWNLOADBACKGROUND (1), le retour de la fonction est imm�diat et le t�l�chargement continue en arri�re-plan. La fonction InetGetInfo() peut-�tre utilis�e pour v�rifier l'�tat du t�l�chargement. Elle utilise le handle retourn� par InetGet().

Les t�l�chargements multiples sont support�s s'ils sont d�marr�s en mode arri�re-plan.

Pour interrompre un t�l�chargement, appelez InetClose() en lui passant le handle retourn� par InetGet().

Par d�faut, AutoIt force une connexion avant de d�marrer un t�l�chargement. Les utilisateurs de modem analogique seront invit�s � passer en ligne ou le num�ro sera compos� (selon la configuration du syst�me). L'option $INET_FORCEBYPASS (16) d�sactive ce comportement. D�sactiver ce comportement peut-�tre utile pour les connexions continues (Large bande, LAN). Cependant, il est aussi n�cessaire pour r�soudre certains probl�mes dans Windows Vista et Windows 7.

En relation

FtpSetProxy, HttpSetProxy, HttpSetUserAgent, InetClose, InetGetInfo, InetGetSize, InetRead

Exemples

Exemple 1

#include <InetConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>

; T�l�charge un fichier en arri�re-plan.
; Attend la fin du t�l�chargement.

Example()

Func Example()
    ; Enregistre le fichier t�l�charg� dans le dossier temporaire.
    Local $sFilePath = _WinAPI_GetTempFileName(@TempDir)

    ; T�l�charge le fichier en arri�re-plan avec l'option choisie 'forcer le chargement du site distant'.
    Local $hDownload = InetGet("http://www.autoitscript.com/autoit3/files/beta/update.dat", $sFilePath, $INET_FORCERELOAD, $INET_DOWNLOADBACKGROUND)

    ; Attend la fin du t�l�chargement en v�rifiant si la 2i�me valeur de l'index de InetGetInfo retourne True.
    Do
        Sleep(250)
    Until InetGetInfo($hDownload, $INET_DOWNLOADCOMPLETE)

    ; Obtient le nombre total d'octets re�us et la taille du fichier.
    Local $iBytesSize = InetGetInfo($hDownload, $INET_DOWNLOADREAD)
    Local $iFileSize = FileGetSize($sFilePath)

    ; Ferme le handle retourn� par InetGet.
    InetClose($hDownload)

    ; Affiche les d�tails sur le nombre total d'octets lus et la taille du fichier.
    MsgBox($MB_SYSTEMMODAL, "", "Taille totale t�l�charg�e: " & $iBytesSize & @CRLF & _
            "Taille du fichier: " & $iFileSize)

    ; Supprime le fichier.
    FileDelete($sFilePath)
EndFunc   ;==>Example


Exemple 2

#include <InetConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>

; T�l�charge un fichier en arri�re-plan.
; Attend la fin du t�l�chargement.

Example()

Func Example()
    ; Enregistre le fichier t�l�charg� dans le dossier temporaire.
    Local $sFilePath = _WinAPI_GetTempFileName(@TempDir)

    ; T�l�charge le fichier en attendant la fin. L'option "obtenir le fichier du cache local" est   choisie.
    Local $iBytesSize = InetGet("http://www.autoitscript.com/autoit3/files/beta/update.dat", $sFilePath, $INET_FORCERELOAD)

    ; Obtient la taille du fichier.
    Local $iFileSize = FileGetSize($sFilePath)

    ; Affiche les d�tails sur le nombre total d'octets lus et la taille du fichier.
    MsgBox($MB_SYSTEMMODAL, "", "Taille totale t�l�charg�e: " & $iBytesSize & @CRLF & _
            "Taille du fichier: " & $iFileSize)

    ; Supprime le fichier.
    FileDelete($sFilePath)
EndFunc   ;==>Example