HttpConfigurable ਦਾ ਬਦਲ ਕਈ API ਵਿੱਚ ਫੈਲਿਆ ਹੋਇਆ ਹੈ। HTTP ਪ੍ਰੌਕਸੀ ਸੈਟਿੰਗਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਵਾਲੇ ਪਲੱਗਇਨ ਨੂੰ ਉਹਨਾਂ ਰਾਹੀਂ ਬੇਨਤੀ ਭੇਜਣ ਵਾਲੇ ਪਲੱਗਇਨ ਤੋਂ ਵੱਖਰੀ ਕਾਰਵਾਈ ਚਾਹੀਦੀ ਹੈ।

ਮੌਜੂਦਾ ਵਰਤੋਂਮਾਈਗ੍ਰੇਸ਼ਨ API
ਚੁਣੀ ਹੋਈ ਪ੍ਰੌਕਸੀ ਸੰਰਚਨਾ ਪੜ੍ਹਨਾProxySettings.getInstance().getProxyConfiguration()
ਜਾਣੇ ਪ੍ਰਮਾਣ ਪ੍ਰਾਪਤ ਕਰਨਾ ਜਾਂ ਵਰਤੋਂਕਾਰ ਨੂੰ ਪੁੱਛਣਾProxyAuthentication
ਸੰਰਚਿਤ ਸਥਿਰ ਐਂਡਪੁਆਇੰਟ ਲਈ ਪ੍ਰਮਾਣ ਪ੍ਰਾਪਤ ਕਰਨਾgetStaticProxyCredentials, ਇੱਕ Kotlin ਐਕਸਟੈਂਸ਼ਨ ਜੋ ProxyUtils ਰਾਹੀਂ Java ਲਈ ਖੁੱਲ੍ਹਾ ਹੈ
ਪਲੇਟਫਾਰਮ ਦੀ ਪ੍ਰੌਕਸੀ ਚੋਣ ਨਾਲ 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 ਉਪਲਬਧਤਾ ਜਾਂਚੋ।

ਸੰਬੰਧਿਤ ਲੇਖ