HttpConfigurable o'rnini bosuvchi bir nechta API'ga taqsimlangan. HTTP proksi sozlamalarini tekshiruvchi plagin ular orqali so'rov yuboruvchi plagindan boshqa amalni talab qiladi.

Joriy foydalanishMigratsiya API'si
Tanlangan proksi konfiguratsiyasini o'qishProxySettings.getInstance().getProxyConfiguration()
Ma'lum hisob ma'lumotlarini olish yoki foydalanuvchidan so'rashProxyAuthentication
Sozlangan statik oxirgi nuqta uchun hisob ma'lumotlarini olishgetStaticProxyCredentials, ProxyUtils orqali Java uchun ochiq Kotlin kengaytmasi
Platformaning proksi tanlovi bilan URL ochishHttpConnectionUtils.openConnection(location) yoki openHttpConnection(location)

2024 yilgi IntelliJ Platform manbalari ifodalagan migratsiya API'si uchun bu tarmoq turlari com.intellij.util.net ichida joylashgan. Masalan, Kotlin konfiguratsiyani tekshirishi va so'ramasdan ma'lum statik proksi hisob ma'lumotlarini qidirishi mumkin:

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

Yordamchiga ProxyCredentialProvider kerak; metod havolasi autentifikatsiya xizmatini shu interfeysga moslashtiradi. Hisob ma'lumotlari sozlangan proksining hosti va porti bo'yicha qidiriladi. null natija konfiguratsiya statik emasligini bildirishi mumkin, shuning uchun PAC orqali tanlangan proksiga autentifikatsiya kerak emasligini isbotlamaydi.

Haqiqiy vazifa HTTP so'rov yuborish bo'lsa, host va port maydonlaridan marshrutlashni qayta qurish o'rniga platformaning ulanish yordamchisidan foydalaning. U manzil URL uchun platformaning proksi tanlagichiga murojaat qiladi. Statik konfiguratsiyani asJavaProxy() bilan aylantirish uning istisnolar ro'yxatini hisobga olmaydi va PAC tanlovini amalga oshirmaydi.

Agar interaktiv autentifikatsiya talab qilinsa, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) alohida, bloklashi mumkin bo'lgan amaldir. Kodni migratsiya qilishda bu farqni saqlang va API mavjudligini plagin qo'llab-quvvatlaydigan minimal Platform SDK bilan solishtirib tekshiring.

O'xshash maqolalar