Lädt eine Datei aus dem Internet herunter.
UrlDownloadToFile, URL, DateiName
URL der Datei, die heruntergeladen werden soll. Zum Beispiel könnte mit "https://someorg.org" die Willkommensseite dieser Organisation abgerufen werden.
Inhalt in eine Datei herunterladen: Geben Sie den Namen der Datei an, die lokal erstellt werden soll. Wenn kein absoluter Pfad angegeben ist, wird die Datei im A_WorkingDir-Verzeichnis vermutet. Jede vorhandene Datei wird mit der neuen Datei überschrieben.
Inhalt in eine Variable herunterladen: Siehe die Beispiele unten.
[v1.1.04+]: Dieser Befehl ist in der Lage, bei Misserfolg eine Ausnahme auszulösen. Weitere Informationen finden Sie unter Laufzeitfehler.
ErrorLevel wird bei Misserfolg auf 1 und bei Erfolg auf 0 gesetzt.
Der Download wird möglicherweise auch dann als erfolgreich angesehen, wenn die Remote-Datei nicht vorhanden ist. Das liegt daran, dass viele Webserver anstelle der fehlenden Datei eine Fehlerseite senden. Das heißt, dass in DateiName die Fehlerseite gespeichert wird.
Internet Explorer 3 oder höher muss installiert sein, damit diese Funktion richtig funktionieren kann. Firewalls oder das Vorhandensein mehrerer Netzwerkadapter können dazu führen, dass die Funktion fehlschlägt. Zudem ist es möglich, dass einige Webseiten solche Downloads blockieren.
Caching:
*0 https://someorg.org
. Die 0 nach dem Sternchen kann mit einer beliebigen gültigen dwFlags-Nummer ersetzt werden; suchen Sie nach InternetOpenUrl auf www.microsoft.com für weitere Details.https://www.someorg.org/doc.html?fakeParam=42
. Hinweis: Soll die Datei mehrmals heruntergeladen werden, muss die Abfragezeichenkette variieren.Proxies: UrlDownloadToFile wird einen Proxy-Server für den Internetzugriff verwenden, falls so ein Proxy in den Einstellungen des Internet Explorers konfiguriert wurde.
FTP und Gopher: [v1.0.48.04+] unterstützt FTP- und Gopher-URLs. Zum Beispiel:
UrlDownloadToFile, ftp://example.com/home/Meine Datei.zip, C:\Mein Ordner\Meine Datei.zip ; Anonym anmelden. UrlDownloadToFile, ftp://user:pass@example.com:21/home/Meine Datei.zip, C:\Mein Ordner\Meine Datei.zip ; Als bestimmter Benutzer anmelden. UrlDownloadToFile, ftp://benutzer:passwort@beispiel.com/Mein Verzeichnis, C:\Verzeichnisliste.html ; Ermittelt eine Verzeichnisliste im HTML-Format.
UrlDownloadToFile, https://www.autohotkey.com/download/1.1/version.txt, C:\Aktuellste AutoHotkey-Version.txt
UrlDownloadToFile, https://someorg.org/archive.zip, C:\SomeOrg's Archive.zip
Lädt Text in eine Variable herunter.
whr := ComObjCreate("WinHttp.WinHttpRequest.5.1") whr.Open("GET", "https://www.autohotkey.com/download/1.1/version.txt", true) whr.Send() ; Durch das 'true' oben und dem Aufruf unten bleibt das Skript ansprechbar. whr.WaitForResponse() version := whr.ResponseText MsgBox % version
Macht einen asynchronen HTTP-Request.
req := ComObjCreate("Msxml2.XMLHTTP")
; Öffnet einen Request mit aktivierter async.
req.open("GET", "https://www.autohotkey.com/download/1.1/version.txt", true)
; Setzt unsere Callback-Funktion [benötigt v1.1.17+].
req.onreadystatechange := Func("Ready")
; Sendet den Request. Ready() wird aufgerufen, wenn es fertig ist.
req.send()
/*
; Wenn Sie warten wollen, brauchen Sie kein onreadystatechange.
; Durch Setzen von async=true und Warten auf diese Weise bleibt das Skript
; ansprechbar, während der Download läuft, dagegen macht async=false
; das Skript unansprechbar.
while req.readyState != 4
sleep 100
*/
#Persistent
Ready() {
global req
if (req.readyState != 4) ; Noch nicht fertig.
return
if (req.status == 200) ; OK.
MsgBox % "Neueste AutoHotkey-Version ist: " req.responseText
else
MsgBox 16,, % "Status " req.status
ExitApp
}