Një kërkesë Java mund të hasë disa hyrje proxy: konfigurimi i qartë i klientit, përzgjedhësi i parazgjedhur, vetitë e rrjetit të JVM dhe cilësimet e mbështetura të sistemit operativ. Kur një regjistër përmend papritur SOCKS, identifikoni cila hyrje e zgjodhi.

Për kodin që përdor përzgjedhësin e parazgjedhur, inspektoni vendimin për destinacionin e saktë:

URI target = URI.create("https://example.com/");
ProxySelector selector = ProxySelector.getDefault();
if (selector != null) {
    System.out.println(selector.select(target));
}

Kjo raporton kandidatët e përzgjedhësit. Nuk vërteton cila lidhje përfundimisht pati sukses, dhe një klient me rrugë të vetë qartë mund të bëjë një zgjedhje tjetër.

Kontrolloni cilësimet efektive

Shqyrtoni http.proxyHost, https.proxyHost, socksProxyHost, portet e tyre dhe java.net.useSystemProxies. dokumentacioni i JDK për vetitë e rrjetit përshkruan shtrirjen dhe përparësinë e tyre. Zbulimi i proxy-t të sistemit kontrollohet në nisje; vendoseni me qëllim kur nisni JVM.

Përgjigjet historike përshkruajnë kombinime specifike të dialogëve të vjetër të Windows dhe JDK-ve të vjetra. Ato raporte mund të shpjegojnë origjinën e një zgjidhjeje, por nuk vërtetojnë se runtime-i aktual ka të njëjtin defekt. Regjistroni versionin e runtime-it dhe daljen e përzgjedhësit përpara se të ndryshoni cilësimet e sistemit operativ për çdo aplikacion.

Nëse aplikacioni ka nevojë për një proxy HTTP për një klient, një konfigurim i qartë proxy mund ta bëjë më të qartë atë kërkesë. Nëse ka nevojë për drejtim qendror automatik, hetoni pse përzgjedhësi mori ose ktheu hyrjen e papritur SOCKS.

Një përzgjedhës i personalizuar duhet të ruajë anashkalimet e qëllimshme dhe trajtimin e dështimeve. Filtrimi i çdo kandidati SOCKS pa dallim mund të prishë lidhjet që duhej të përdornin një të tillë. Rregulloni rregullin e gabuar me shtrirjen më të vogël që mund të identifikoni.

Artikuj të ngjashëm