HttpConfigurable の代替は複数の API に分かれています。HTTP プロキシ設定を調べるプラグインに必要な操作は、設定を介してリクエストを送るプラグインとは異なります。

既存の用途移行 API
選択されているプロキシ設定を読み取るProxySettings.getInstance().getProxyConfiguration()
既知の認証情報を取得する、またはユーザーに尋ねるProxyAuthentication
構成済みの静的エンドポイントの認証情報を取得するgetStaticProxyCredentials。ProxyUtils を通じて Java に公開される Kotlin 拡張です
プラットフォームのプロキシ選択を使って URL を開くHttpConnectionUtils.openConnection(location) または openHttpConnection(location)

2024 年の IntelliJ Platform ソースが表す移行 API では、これらのネットワーク型は com.intellij.util.net にあります。たとえば Kotlin は、プロンプトを出さずに設定を調べ、既知の静的プロキシの認証情報を検索できます。

import com.intellij.util.net.ProxyAuthentication
import com.intellij.util.net.ProxyCredentialProvider
import com.intellij.util.net.ProxySettings
import com.intellij.util.net.getStaticProxyCredentials

val settings = ProxySettings.getInstance()
val configuration = settings.getProxyConfiguration()
val credentials = settings.getStaticProxyCredentials(
    ProxyCredentialProvider(
        ProxyAuthentication.getInstance()::getKnownAuthentication
    )
)

このヘルパーには ProxyCredentialProvider が必要です。メソッド参照が認証サービスをそのインターフェースに適合させます。認証情報は構成済みプロキシのホストとポートで検索されます。null の結果は設定が静的でないことを意味する場合があるため、PAC で選択されたプロキシに認証が不要だという証明にはなりません。

実際の作業が HTTP リクエストの送信である場合は、ホストとポートのフィールドからルーティングを再構築するのではなく、プラットフォームの接続ヘルパーを使用してください。宛先 URL についてプラットフォームのプロキシセレクターに問い合わせます。asJavaProxy() で静的設定を変換しても、その例外リストは尊重されず、PAC 選択も実装されません。

対話的な認証が必要な場合、ProxyAuthentication.getPromptedAuthentication(prompt, host, port) は別個の、ブロックする可能性がある操作です。コードを移行するときはこの区別を保ち、プラグインがサポートする最小の Platform SDK に対して API の可用性を確認してください。

関連記事