Eine AutoHotkey-2-Anfrage über einen expliziten Proxy
WinHTTP-COM-Objekt in AutoHotkey 2 nutzen, um den Proxy zu wählen und den resultierenden HTTP-Status zu prüfen.
AutoHotkey 2 kann das WinHttpRequest-COM-Objekt von Windows für eine Anfrage über einen expliziten Proxy verwenden:
request := ComObject("WinHttp.WinHttpRequest.5.1")
request.SetTimeouts(5000, 5000, 10000, 20000)
request.SetProxy(2, "proxy.example.net:8080", "localhost")
request.Open("GET", "https://example.net/status", false)
request.Send()
MsgBox request.Status " " request.StatusText
2 wählt die übergebene Proxykonfiguration. Für die gezeigte öffentliche HTTPS-Prüfung liefert die HTTP-Proxy-Liste mögliche Host- und Portwerte des Vermittlers, wenn öffentliche Routen erlaubt sind und keine Proxy-Anmeldedaten konfiguriert sind. Das optionale dritte Argument ist die Umgehungsliste; hier geht localhost direkt.
Das abschließende false in Open wählt eine synchrone Anfrage. Dieses kleine Skript wartet auf den Abschluss, bevor es den Status liest. Eine länger laufende Desktop-Automatisierung sollte diese Wartezeit in ihrem Interaktionsablauf berücksichtigen.
Wenn der Proxy Anmeldedaten verlangt, setze sie nach Open und vor Send:
request.SetCredentials(proxyUser, proxyPassword, 1)
Die Anwendung liefert diese beiden Variablen. Das abschließende Flag 1 wählt Proxy-Anmeldedaten. Flag 0 wählt Anmeldedaten für den Zielserver.
Nach einer erfolgreichen Textantwort enthält request.ResponseText den zurückgegebenen Text. Für einen Binär-Download nutze ResponseBody und einen passenden binären Schreibweg, statt diese Bytes durch eine Textkonvertierung zu schicken.