A Java proxyobjektum egy útvonalat ír le. A hálózati kliens továbbra is eldönti, milyen típusú útvonalakat használhat. Ez akkor számít, amikor az elérhető végpont SOCKS-t beszél, és az alkalmazás java.net.http.HttpClient-ot használ.

Az itt vizsgált JDK 25 implementációban a HTTP-kliens kéréskódja HTTP-jelöltet fogad el a szelektortól. A SOCKS-jelölt nem készteti SOCKS-egyeztetésre; az implementáció proxy nélkül folytatódhat. Ezért egy sikeres válasz nem elegendő bizonyíték arra, hogy egy egyéni szelektor SOCKS-bejegyzését használták.

Először a szállítást válassza

Egy meglévő URLConnection-alapú alkalmazás esetében a protokollkezelő kaphat támogatott, explicit proxyt a kapcsolat megnyitásakor:

Proxy route = new Proxy(Proxy.Type.SOCKS,
    new InetSocketAddress("proxy.example", 1080));
URLConnection connection = URI.create("https://service.example/")
    .toURL().openConnection(route);
connection.setConnectTimeout(5000);
connection.setReadTimeout(15000);

Engedélyezett nyilvános célú tesztekhez használjon megfelelő SOCKS-végpontot a szolgáltatásából vagy a SOCKS proxy listából. Ez más kliens API, nem a HttpClient.Builder.proxy alternatív írásmódja. Tartsa meg a cél URL-t, hogy a HTTPS továbbra is azonosítsa a kívánt webhelyet.

Az az alkalmazás, amelynek meg kell tartania a java.net.http-t, használhat helyette kompatibilis HTTP-proxy végpontot, beleértve egy jóváhagyott adaptert, amely a további SOCKS-kapcsolatot kezeli. Ez valódi komponenst és még egy hozzáférési határt ad hozzá; a 8080-as port 1080-ra cserélése nem nyújtja ezt a lefordítást.

Tartsa láthatóvá a kiválasztást és az átvételt

Rögzítse a szelektor eredményét és a kliens által ténylegesen megnyitott kapcsolatot is. Az első a szabályzat kimenetét írja le; a második megállapítja, hogy az implementáció átvette-e.

Kösse a következtetéseket a használt futtatókörnyezethez és szállításhoz. Az egy socket-implementáció által használt JVM SOCKS-tulajdonságok nem ígérik meg, hogy minden HTTP-könyvtár ezeket kérdezi. Ha az útvonal kötelező, a nem támogatott proxytípust a látszólag sikeres közvetlen kérés elfogadása előtt fel kell ismerni.

Kapcsolódó cikkek