IntelliJ ප්ලගිනයේ HttpConfigurable ප්රතිස්ථාපනය කිරීම
ප්රොක්සි වින්යාසය කියවන්න, අන්ත ලක්ෂ්ය අක්තපත්ර ලබා ගන්න, සහ IntelliJ ප්රොක්සි API සමඟ වේදිකා-දැනුවත් සම්බන්ධතා විවෘත කරන්න.
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 ලබා ගත හැකි බව පරීක්ෂා කරන්න.