Function Reference


InetGetInfo

Returns detailed data for a handle returned from InetGet().

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

Parameters

handle [optional] A handle return from InetGet().
index [optional] The index for the data to retrieve. If this value is -1 an array containing all of the below data will be returned.
    $INET_DOWNLOADREAD (0) - Bytes read so far (this is updated while the download progresses).
    $INET_DOWNLOADSIZE (1) - The size of the download in bytes (this may not always be present).
    $INET_DOWNLOADCOMPLETE (2) - Set to True if the download is complete, False if the download is still ongoing.
    $INET_DOWNLOADSUCCESS (3) - True if the download was successful. If this is False then the next data member will be non-zero.
    $INET_DOWNLOADERROR (4) - The error value for the download. The value itself is arbitrary. Testing that the value is non-zero is sufficient for determining if an error occurred.
    $INET_DOWNLOADEXTENDED (5) - The extended value for the download. The value is arbitrary and is primarily only useful to the AutoIt developers.

Constants are defined in InetConstants.au3.

Return Value

Success: the request data.
Failure: an empty string and sets the @error flag to non-zero.

Remarks

If called with no arguments then the total number of active downloads will be returned.

This function can be called in a loop to query the number of bytes download or to pause until a download is complete.

Related

InetGet

Example

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

Example()

Func Example()
        ; Save the downloaded file to the temporary folder.
        Local $sFilePath = _WinAPI_GetTempFileName(@TempDir)

        ; Download the file in the background with the selected option of 'force a reload from the remote site.'
        Local $hDownload = InetGet("http://www.autoitscript.com/autoit3/files/beta/update.dat", $sFilePath, $INET_FORCERELOAD, $INET_DOWNLOADBACKGROUND)

        ; Wait for the download to complete by monitoring when the 2nd index value of InetGetInfo returns True.
        Do
                Sleep(250)
        Until InetGetInfo($hDownload, $INET_DOWNLOADCOMPLETE)

        ; Retrieve details about the download file.
        Local $aData = InetGetInfo($hDownload)
        If @error Then
                FileDelete($sFilePath)
                Return False ; If an error occurred then return from the function and delete the file.
        EndIf

        ; Close the handle returned by InetGet.
        InetClose($hDownload)

        ; Display details about the downloaded file.
        MsgBox($MB_SYSTEMMODAL, "", "Bytes read: " & $aData[$INET_DOWNLOADREAD] & @CRLF & _
                        "Size: " & $aData[$INET_DOWNLOADSIZE] & @CRLF & _
                        "Complete: " & $aData[$INET_DOWNLOADCOMPLETE] & @CRLF & _
                        "successful: " & $aData[$INET_DOWNLOADSUCCESS] & @CRLF & _
                        "@error: " & $aData[$INET_DOWNLOADERROR] & @CRLF & _
                        "@extended: " & $aData[$INET_DOWNLOADEXTENDED] & @CRLF)

        ; Delete the file.
        FileDelete($sFilePath)
EndFunc   ;==>Example