Conservez l'URL réelle de la ressource et passez le proxy séparément à URLConnection :

URI destination = URI.create("https://example.com/report");
Proxy proxy = new Proxy(Proxy.Type.HTTP,
    new InetSocketAddress("203.0.113.10", 8080));
URLConnection connection = destination.toURL().openConnection(proxy);
connection.setConnectTimeout(5000);
connection.setReadTimeout(10000);

Utilisez les imports java.net et remplacez l'adresse de proxy de la documentation par votre service HTTP ou un candidat de la liste de proxys HTTP. La connexion demande toujours https://example.com/report ; le proxy est sa route. Cette configuration ne configure ni les identifiants ni toutes les bibliothèques HTTP de la JVM.

Un code erroné qui remplace le proxy dans l'URL de la ressource peut obtenir une page web de proxy rapide ou une erreur au lieu du rapport. Comparez le statut, le contenu et la destination réelle avant d'interpréter cette réponse rapide comme de meilleures performances.

openConnection(Proxy) laisse le chemin de la ressource sur l'URI de destination. Conservez ce nom d'hôte aussi pour la vérification du certificat HTTPS ; le remplacer par l'intermédiaire peut ajouter une incohérence de nom à l'erreur de routage.

Si l'application construit un autre client HTTP, utilisez ce client ou son interface de fabrique de connexions. Un objet proxy URLConnection ne peut pas configurer un chemin qui n'appelle jamais cette API.

Articles similaires