AutoHotkey 2 は Windows の WinHttpRequest COM オブジェクトを使い、明示的なプロキシ経由でリクエストできます:

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 は指定したプロキシ設定を選びます。ここで示す公開 HTTPS の確認では、HTTP プロキシ一覧が、公開経路が許可されプロキシ資格情報が設定されていない場合の中継ホストとポートの候補を提供します。省略可能な第三引数はバイパス一覧です。ここでは localhost が直接接続になります。

最後の false は Open で同期リクエストを選びます。この小さなスクリプトは完了を待ってからステータスを読みます。長く動くデスクトップ自動化では、その待ち時間を操作フローに織り込む必要があります。

プロキシが資格情報を要求する場合は、Open の後、Send の前に設定します:

request.SetCredentials(proxyUser, proxyPassword, 1)

アプリケーションがこの二つの変数を用意します。最後のフラグ 1 はプロキシの資格情報を選びます。フラグ 0 は接続先サーバーの資格情報を選びます。

テキスト応答が成功すると、request.ResponseText に返されたテキストが入ります。バイナリのダウンロードには ResponseBody と適切なバイナリ書き込み経路を使い、そのバイト列をテキスト変換に通さないでください。

関連記事