HttpConfigurable-ի փոխարինողը տարածված է մի քանի API-ներում։ HTTP պրոքսիի կարգավորումները ստուգող պլագինին անհրաժեշտ է այլ գործողություն, քան դրանց միջոցով հարցում ուղարկող պլագինինը։

Գոյություն ունեցող օգտագործումՄիգրացիայի API
Ընտրված պրոքսիի կարգավորումը կարդալըProxySettings.getInstance().getProxyConfiguration()
Հայտնի հավատարմագրերի ստացումը կամ օգտատիրոջից հարցնելըProxyAuthentication
Կարգավորված ստատիկ վերջնակետի հավատարմագրերի ստացումըgetStaticProxyCredentials, Kotlin ընդլայնում, որը հասանելի է Java-ին ProxyUtils-ի միջոցով
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)-ը առանձին, հնարավոր է՝ արգելափակող գործողություն է։ Պահպանեք այդ տարբերությունը կոդը միգրացնելիս և ստուգեք API-ի հասանելիությունը պլագինի նվազագույն աջակցվող Platform SDK-ի նկատմամբ։

Առնչվող հոդվածներ