Seleccionar SOCKS4 en OpenJDK 25 con socksProxyVersion
Use la propiedad de versión documentada con un punto de conexión SOCKS explícito en OpenJDK 25 y tenga en cuenta el alcance de la propiedad en toda la JVM.
Para la implementación de sockets de OpenJDK 25, seleccione SOCKS4 con la propiedad socksProxyVersion. Se puede proporcionar al iniciar la aplicación:
java -DsocksProxyVersion=4 YourApplicationLa aplicación aún puede proporcionar el punto de conexión del proxy de forma explícita:
Proxy proxy = new Proxy(Proxy.Type.SOCKS,
new InetSocketAddress("proxy.example", 1080));
try (Socket socket = new Socket(proxy)) {
socket.connect(new InetSocketAddress("192.0.2.10", 80), 5000);
socket.setSoTimeout(10000);
}Las direcciones son marcadores de posición. Una dirección no autenticada de la lista de proxies SOCKS4 puede rellenar el host y el puerto del proxy para una prueba IPv4 pública permitida; use la dirección IPv4 y el puerto de destino reales por separado. Este fragmento abre y cierra el flujo TCP; un protocolo de aplicación usaría el flujo conectado dentro del bloque.
La implementación de OpenJDK 25 comprueba la propiedad de versión incluso cuando el constructor recibió un Proxy SOCKS explícito normal. El objeto Proxy público contiene en sí mismo un tipo y una dirección, no un campo de versión SOCKS por objeto.
La propiedad de versión tiene alcance en toda la JVM. Si las cargas de trabajo concurrentes requieren versiones SOCKS diferentes, no la cambie de un lado a otro en torno a solicitudes individuales. En su lugar, use una interfaz de cliente que admita la selección necesaria por conexión. La reflexión privada setV4 de ejemplos antiguos de JDK no es la interfaz de configuración admitida.