JDK の HTTP URL 接続を使う Groovy スクリプトでは、そのプロセスの起動時にプロキシを指定します:

groovy -Dhttp.proxyHost=proxy.example -Dhttp.proxyPort=8080 fetch.groovy

小さな fetch.groovy は、そのあとテキストリソースを読めます:

def url = new URL('http://example.com/')
println url.getText(connectTimeout: 5000, readTimeout: 10000)

エンドポイントはあくまで例です。この公開 HTTP テキスト取得には、HTTP プロキシ一覧から認証不要の候補に置き換えてください。ホストのプロパティはホスト名を持ち、ポートは独立したプロパティです。HTTPS の宛先には、それを運ぶエンドポイント向けに https.proxyHost と https.proxyPort を設定します。

-D は JVM のシステムプロパティを定義します。シェルの環境変数への代入ではありません。このスクリプトを実行する Groovy の呼び出しにオプションを付けます。別の IDE 起動やサービスは、異なる値で別のプロセスを開始できます。

getText はレスポンスを文字列にまとめます。小さなテキスト取得に向きます。大きなダウンロードでは、結果全体をメモリに保持せずストリーミングする必要があります。

関連記事