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-სთან.

დაკავშირებული სტატიები