HttpURLConnection.usingProxy() пре и после повезивања
Тумачите usingProxy као стање руковаоца, укључујући понашање OpenJDK 25 са експлицитним проксијем пре успостављања везе.
HttpURLConnection излаже usingProxy, али резултат тражи имплементацију и стање везе поред себе. То није тестни захтев.
У HTTP руковаоцу OpenJDK 25 експлицитно конфигурисан HTTP прокси може натерати методу да врати true пре отварања мрежне везе:
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URI;
var proxy = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("proxy.example", 8080));
var url = URI.create("http://example.com/").toURL();
var connection = (HttpURLConnection) url.openConnection(proxy);
boolean proxyFlag = connection.usingProxy();HTTP кандидат са листе HTTP проксија може попунити хост и порт за дозвољени јавни захтев без аутентификације проксија. openConnection гради објекат. Он не успоставља HTTP везу самим враћањем тог објекта. Зато заставица у овом случају експлицитног проксија не доказује да је посредник доступан или да прихвата захтев.
Уз аутоматски избор, избор руте се може догодити касније док се руковалац повезује. Рани резултат false не треба сматрати коначном одлуком о рути. Након повезивања тумачите стање заједно са било којим изузетком или одговором, посебно када су били укључени аутентификација или резервни пут.
Јавна метода припада HttpURLConnection-у, док је горе описано понашање специфично за наведени OpenJDK руковалац. Други провајдер или имплементација JDK-а не морају излагати исте појединости пре повезивања.
Забележите како је прокси одабран и када је заставица прочитана. Да бисте утврдили изворну адресу коју види одредиште, сачувајте доказе са одредишне стране; боолеан ознака проксија нема поље за ту излазну адресу.