AutoHotkey 2 puede usar el objeto COM WinHttpRequest de Windows para realizar una solicitud con un proxy explícito:

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 selecciona la configuración de proxy indicada. Para la comprobación HTTPS pública mostrada, la lista de proxies HTTP suministra valores candidatos de host y puerto del intermediario cuando se permiten rutas públicas y no hay credenciales de proxy configuradas. El tercer argumento opcional es la lista de omisión; aquí, localhost va directo.

El false final de Open selecciona una solicitud sincrónica. Este pequeño script espera a que termine antes de leer el estado. Una automatización de escritorio de larga duración debería tener en cuenta esa espera en su flujo de interacción.

Si el proxy requiere credenciales, establézcalas después de Open y antes de Send:

request.SetCredentials(proxyUser, proxyPassword, 1)

La aplicación proporciona esas dos variables. El indicador final, 1, selecciona las credenciales del proxy. El indicador 0 selecciona las credenciales del servidor de destino.

Tras una respuesta de texto correcta, request.ResponseText contiene el texto devuelto. Para una descarga binaria, use ResponseBody y una ruta de escritura binaria adecuada en lugar de pasar esos bytes por una conversión de texto.

Artículos relacionados