Returns detailed data for a handle returned from InetGet().
InetGetInfo ( [handle [, index = -1]] )
|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.
|Success:||the request data.|
|Failure:||an empty string and sets the @error flag to non-zero.|
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.
#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