Sélectionner SOCKS4 dans OpenJDK 25 avec socksProxyVersion
Utilisez la propriété de version documentée avec un point de terminaison SOCKS explicite dans OpenJDK 25, et tenez compte de la portée de la propriété à l'échelle de la JVM.
Pour l'implémentation des sockets d'OpenJDK 25, sélectionnez SOCKS4 avec la propriété socksProxyVersion. Elle peut être fournie au lancement de l'application :
java -DsocksProxyVersion=4 YourApplicationL'application peut toujours fournir explicitement le point de terminaison du proxy :
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);
}Les adresses sont des espaces réservés. Une adresse non authentifiée de la liste de proxys SOCKS4 peut renseigner l'hôte et le port du proxy pour un test IPv4 public autorisé ; utilisez séparément l'adresse IPv4 et le port de destination réels. Ce fragment ouvre et ferme le flux TCP ; un protocole applicatif utiliserait le flux connecté à l'intérieur du bloc.
L'implémentation d'OpenJDK 25 vérifie la propriété de version même lorsque le constructeur a reçu un Proxy SOCKS explicite ordinaire. L'objet Proxy public contient lui-même un type et une adresse, pas un champ de version SOCKS par objet.
La propriété de version a une portée à l'échelle de la JVM. Si des charges de travail concurrentes exigent des versions SOCKS différentes, ne la basculez pas dans un sens et dans l'autre autour de requêtes individuelles. Utilisez plutôt une interface client qui prend en charge la sélection requise par connexion. La réflexion privée setV4 des anciens exemples JDK n'est pas l'interface de configuration prise en charge.