La plupart des réponses sont là, mais pour moi pas tout à fait. C'est ce qui fonctionne pour moi avec java.net.HttpURLConnection (j'ai testé tous les cas avec JDK 7 et JDK 8). Notez que vous n'avez pas besoin d'utiliser la classe Authenticator.
Cas 1: Proxy sans authentification de l'utilisateur, les ressources HTTP d'accès
-Dhttp.proxyHost=myproxy -Dhttp.proxyPort=myport
Cas 2: Proxy avec authentification de l'utilisateur, l'accès aux ressources HTTP
-Dhttp.proxyHost=myproxy -Dhttp.proxyPort=myport -Dhttps.proxyUser=myuser -Dhttps.proxyPassword=mypass
Cas 3: Proxy sans authentification de l'utilisateur, l'accès HTTPS ressources (SSL)
-Dhttps.proxyHost=myproxy -Dhttps.proxyPort=myport
Cas 4: Proxy avec l'utilisateur au thentication, les ressources HTTPS d'accès (SSL)
-Dhttps.proxyHost=myproxy -Dhttps.proxyPort=myport -Dhttps.proxyUser=myuser -Dhttps.proxyPassword=mypass
Cas 5: Proxy sans authentification de l'utilisateur, accès à la fois les ressources HTTP et HTTPS (SSL)
-Dhttp.proxyHost=myproxy -Dhttp.proxyPort=myport -Dhttps.proxyHost=myproxy -Dhttps.proxyPort=myport
Cas 6: Proxy avec authentification de l'utilisateur, l'accès HTTP et les ressources HTTPS (SSL)
-Dhttp.proxyHost=myproxy -Dhttp.proxyPort=myport -Dhttp.proxyUser=myuser -Dhttp.proxyPassword=mypass -Dhttps.proxyHost=myproxy -Dhttps.proxyPort=myport -Dhttps.proxyUser=myuser -Dhttps.proxyPassword=mypass
Vous pouvez définir les propriétés du System.setProperty avec ("clé", « valeur) aussi.
Pour accéder à la ressource HTTPS, il se peut que vous deviez faire confiance à la ressource en téléchargeant le certificat de serveur et en l'enregistrant dans un fichier de clés certifiées, puis en utilisant ce fichier de clés. à savoir
System.setProperty("javax.net.ssl.trustStore", "c:/temp/cert-factory/my-cacerts");
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
Quel type d'authentification votre serveur proxy accepte-t-il? De base, Digest ou NTLM? – brianegge