Hvers vegna Java valdi SOCKS proxy fyrir HTTP beiðnina þína
Skoðaðu niðurstöðu ProxySelector og virkar JVM stillingar áður en þú beitir gömlum Windows proxy lausnum.
Java beiðni getur rekist á nokkrar proxy uppsprettur: skýra stillingu biðlarans, sjálfgefna valið, neteiginleika JVM og studdar stillingar stýrikerfisins. Þegar log nefnir SOCKS óvænt skaltu greina hvaða uppspretta valdi það.
Fyrir kóða sem notar sjálfgefna valið skaltu skoða ákvörðunina fyrir nákvæma áfangastaðinn:
URI target = URI.create("https://example.com/");
ProxySelector selector = ProxySelector.getDefault();
if (selector != null) {
System.out.println(selector.select(target));
}
Þetta tilkynnir frambjóðendur valsins. Það sannar ekki hvaða tenging tókst að lokum, og biðlari með eigin skýra leið getur valið öðruvísi.
Athugaðu virkar stillingar
Farðu yfir http.proxyHost, https.proxyHost, socksProxyHost, port þeirra og java.net.useSystemProxies. JDK skjöl um neteiginleika lýsa umfangi þeirra og forgangi. Uppgötvun kerfisproxy er athuguð við ræsingu; stilltu hana meðvitað þegar JVM er ræst.
Söguleg svör lýsa ákveðnum samsetningum gamalla Windows glugga og gamalla JDK. Þessar skýrslur geta útskýrt uppruna lausnar, en þær sanna ekki að núverandi keyrsluumhverfi hafi sama gallann. Skráðu útgáfu keyrsluumhverfisins og framleiðslu valsins áður en þú breytir stýrikerfisstillingum fyrir hvert forrit.
Ef forritið þarf HTTP proxy fyrir einn biðlara getur skýr proxy stilling gert þá kröfu skýrari. Ef það þarf miðlæga sjálfvirka leiðsögn skaltu kanna hvers vegna valið fékk eða skilaði óvæntu SOCKS færslunni.
Sérsniðið val ætti að varðveita viljandi framhjáhald og meðferð bilana. Að sía alla SOCKS frambjóðendur án greinarskilnings getur rofið tengingar sem áttu að nota einn. Lagaðu röngu regluna með minnsta umfangi sem þú getur greint.