Funktionreferenz


InetGetInfo

Beschreibung anzeigen in

Gibt detaillierte Informationen über ein InetGet-Handle zurück.

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

Parameter

handle [optional] Ein von InetGet() zurückgegebenes Handle.
index [optional] Der Index für die zurückzugebenden Daten. Wenn der Wert -1 ist wird ein Array mit allen unten genannten Daten zurückgegeben.
    $INET_DOWNLOADREAD (0) - Bisher gelesene Bytes (wird während das Download-Vorgangs geändert).
    $INET_DOWNLOADSIZE (1) - Die Größe des Downloads (ist nicht immer vorhanden).
    $INET_DOWNLOADCOMPLETE (2) - Ist True wenn der Download komplett ist, falls der Download noch läuft False.
    $INET_DOWNLOADSUCCESS (3) - True wenn der Download erfolgreich war. Wenn der Wert False ist, wird der nächste Wert ($INET_DOWNLOADERROR) ungleich 0 sein.
    $INET_DOWNLOADERROR (4) - Der Fehlerwert für den Download. Dieser Wert ist willkürlich. Den Wert darauf zu prüfen, ob er null ist, reicht aus um den Auftritt von Fehlern festzustellen.
    $INET_DOWNLOADEXTENDED (5) - Der erweiterte Wert für den Download. Dieser Wert ist willkürlich und größtenteils nur für die Entwickler von AutoIt hilfreich.

Die Konstanten sind in InetConstants.au3 definiert.

Rückgabewert

Erfolg: Die angeforderten Daten.
Fehler: Ein leerer String und @error ist ungleich 0.

Bemerkungen

Wenn diese Funktion ohne Parameter aufgerufen wird wird die Anzahl der aktiven Downloads zurückgegeben.

Diese Funktion kann in einer Schleife aufgerufen werden um die Anzahl der heruntergeladenen Bytes abzufragen oder um das Script zu pausieren bis ein Download abgeschlossen ist.

Verwandte Funktionen

InetGet

Beispiel

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

Example()

Func Example()
    ; Speichert die heruntergeladene Datei in den temporären Ordner.
    Local $sFilePath = _WinAPI_GetTempFileName(@TempDir)

    ; Lädt die Datei im Hintergrund mit den ausgewählten Optionen von 'Erzwingt ein erneutes Laden von der Remote-Seite' herunter.
    Local $hDownload = InetGet("http://www.autoitscript.com/autoit3/files/beta/update.dat", $sFilePath, $INET_FORCERELOAD, $INET_DOWNLOADBACKGROUND)

    ; Wartet bis der Download komplett ist. Dabei wird solange gewartet, bis der zweite Wert von InetGetInfo True zurückgibt.
    Do
        Sleep(250)
    Until InetGetInfo($hDownload, $INET_DOWNLOADCOMPLETE)

    ; Ermittelt Details über die heruntergeladene Datei.
    Local $aData = InetGetInfo($hDownload)
    If @error Then
        FileDelete($sFilePath)
        Return False ; Falls ein Fehler, so wird die Funktion verlassen und die Datei gelöscht.
    EndIf

    ; Schließt das durch InetGet zurückgegebene Handle.
    InetClose($hDownload)

    ; Zeigt Details über die heruntergeladene Datei.
    MsgBox($MB_SYSTEMMODAL, "", "gelesene Bytes: " & $aData[$INET_DOWNLOADREAD] & @CRLF & _
            "Größe: " & $aData[$INET_DOWNLOADSIZE] & @CRLF & _
            "Vollständig: " & $aData[$INET_DOWNLOADCOMPLETE] & @CRLF & _
            "Erfolgreich: " & $aData[$INET_DOWNLOADSUCCESS] & @CRLF & _
            "@error: " & $aData[$INET_DOWNLOADERROR] & @CRLF & _
            "@extended: " & $aData[$INET_DOWNLOADEXTENDED] & @CRLF)

    ; Löscht die Datei.
    FileDelete($sFilePath)
EndFunc   ;==>Example