HttpConfigurable yerine geçen çözüm birkaç API'ye dağılmıştır. HTTP proxy ayarlarını inceleyen bir eklenti, bunlar üzerinden istek gönderen bir eklentiden farklı bir işlem gerektirir.

Mevcut kullanımGeçiş API'si
Seçili proxy yapılandırmasını okumaProxySettings.getInstance().getProxyConfiguration()
Bilinen kimlik bilgilerini alma veya kullanıcıya sormaProxyAuthentication
Yapılandırılmış statik uç nokta için kimlik bilgilerini almagetStaticProxyCredentials, ProxyUtils aracılığıyla Java'ya açılan bir Kotlin uzantısı
Platformun proxy seçimiyle URL açmaHttpConnectionUtils.openConnection(location) veya openHttpConnection(location)

2024 IntelliJ Platform kaynaklarının temsil ettiği geçiş API'si için bu ağ türleri com.intellij.util.net içinde yer alır. Örneğin Kotlin, yapılandırmayı inceleyebilir ve bilinen statik proxy kimlik bilgilerini istemde bulunmadan arayabilir:

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
    )
)

Yardımcı bir ProxyCredentialProvider gerektirir; yöntem başvurusu kimlik doğrulama hizmetini bu arayüze uyarlar. Kimlik bilgileri yapılandırılmış proxy'nin ana bilgisayarı ve bağlantı noktasına göre aranır. null sonuç, yapılandırmanın statik olmadığı anlamına gelebilir; bu nedenle PAC ile seçilen bir proxy'nin kimlik doğrulama gerektirmediğini kanıtlamaz.

Gerçek görev HTTP isteği yapmaksa, ana bilgisayar ve bağlantı noktası alanlarından yönlendirmeyi yeniden kurmak yerine platformun bağlantı yardımcısını kullanın. Hedef URL için platformun proxy seçicisine danışır. Statik bir yapılandırmayı asJavaProxy() ile dönüştürmek, istisna listesine uymaz ve PAC seçimini uygulamaz.

Etkileşimli kimlik doğrulama gerekiyorsa, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) ayrı ve potansiyel olarak engelleyici bir işlemdir. Kodu geçirirken bu ayrımı koruyun ve API kullanılabilirliğini eklentinin desteklediği en düşük Platform SDK'ya göre denetleyin.

İlgili makaleler