Functions > Network >


InetGetInfo

Obtient des informations détaillées sur le handle retourné par InetGet().

InetGetInfo ( [handle [, index = -1]] )

Paramètres

handle [optionnel] Le handle retourné par InetGet().
index [optionnel] L'index des données à récupérer. Si cette valeur est -1, un tableau contenant toutes les données ci-dessous sera retourné.
    $INET_DOWNLOADREAD (0) - Octets lus jusqu'à présent (mis à jour durant la progression du téléchargement).
    $INET_DOWNLOADSIZE (1) - La taille du téléchargement en octets (n'est pas toujours présent).
    $INET_DOWNLOADCOMPLETE (2) - Met à True si le téléchargement est terminé, False si le téléchargement est en cours.
    $INET_DOWNLOADSUCCESS (3) - True si le téléchargement est un succès. Si False alors le membre de donnée suivant ne sera pas nul.
    $INET_DOWNLOADERROR (4) - La valeur d'erreur pour le téléchargement. La valeur elle-même est arbitraire. Tester si la valeur n'est pas nulle est suffisant pour déterminer si une erreur s'est produite.
    $INET_DOWNLOADEXTENDED (5) - La valeur complémentaire pour le téléchargement. La valeur est arbitraire et est principalement utile aux développeurs d'AutoIt.

Les constantes sont définies dans InetConstants.au3

Valeur de retour

Succès: Retourne les informations demandées.
Échec: Retourne une chaîne vide et définit @error <> 0.

Remarques

Si la fonction est appelée sans aucun argument alors le nombre total de téléchargements actifs sera retourné.

Cette fonction peut-être appelée dans une boucle pour récupérer le nombre d'octets téléchargés ou pour faire une pause jusqu'à ce que le téléchargement soit complet.

En relation

InetGet

Exemple

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

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 "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 pour vérifier si la valeur du 2nd index de InetGetInfo retourne True.
    Do
        Sleep(250)
    Until InetGetInfo($hDownload, $INET_DOWNLOADCOMPLETE)

    ; Récupère des informations sur le fichier de téléchargement.
    Local $aData = InetGetInfo($hDownload)
    If @error Then 
        FileDelete($sFilePath))
        Return False ; Si une erreur se produit la fonction retourne et supprime le fichier.
    EndIf

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

    ; Affiche les informations sur le fichier téléchargé.
    MsgBox($MB_SYSTEMMODAL, "", "Bytes read: " & $aData[$INET_DOWNLOADREAD] & @CRLF & _ ; Ou utilisez 0 à la place de la constante.
            "Taille: " & $aData[$INET_DOWNLOADSIZE] & @CRLF & _ 
            "Complet: " & $aData[$INET_DOWNLOADCOMPLETE] & @CRLF & _
            "Succès: " & $aData[$INET_DOWNLOADSUCCESS] & @CRLF & _
            "@error: " & $aData[$INET_DOWNLOADERROR] & @CRLF & _
            "@extended: " & $aData[$INET_DOWNLOADEXTENDED] & @CRLF)

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