ProxyOptions proxy = new ProxyOptions()
    .setType(ProxyType.HTTP)
    .setHost("proxy.example")
    .setPort(8080);

WebClient client = WebClient.create(vertx,
    new WebClientOptions().setProxyOptions(proxy));

client.getAbs("https://example.com/").send()
    .onSuccess(response -> System.out.println(response.statusCode()))
    .onFailure(Throwable::printStackTrace);

Vert.x 4.5.7 では、既存の Vertx インスタンスと対応する core/WebClient クラスが前提です。リクエストの URL はあくまで Web サイトであり、ProxyOptions が中継役を選びます。この公開サイトの例では、その経路が許可されプロキシのアカウントが不要な場合、HTTP プロキシ一覧から HTTP エンドポイントを選びます。

デプロイ値が JVM プロパティから来る場合は、これらのオプションを構築する前に読み取って検証してください。System に値があるからといって、このクライアントがそれを取り込んだ証拠にはなりません。

エンドポイントが必要とするプロキシ種別を選び、必要に応じてサポートされているユーザー名/パスワードのフィールドを使います。HTTPS では通常の TLS 検証を維持してください。

このクライアントはそのワークロードで再利用し、その後で閉じます。別の設定済みクライアントを作成しても、古いインスタンス経由で送信中のリクエストには影響しません。

関連記事