Ce qui suit montre comment définir en Java un proxy avec un utilisateur proxy et un mot de passe proxy à partir de la ligne de commande, ce qui est un cas très courant. Vous ne devez pas enregistrer les mots de passe et les hôtes dans le code, en règle générale en premier lieu.
Passer les propriétés système en ligne de commande avec -D et les définir dans le code avec System.setProperty ("nom", "valeur") est équivalent.
Mais notez ceci
Exemple qui fonctionne:
C:\temp>java -Dhttps.proxyHost=host -Dhttps.proxyPort=port -Dhttps.proxyUser=user -Dhttps.proxyPassword="password" -Djavax.net.ssl.trustStore=c:/cacerts -Djavax.net.ssl.trustStorePassword=changeit com.andreas.JavaNetHttpConnection
Mais ce qui suit ne fonctionne pas :
C:\temp>java com.andreas.JavaNetHttpConnection -Dhttps.proxyHost=host -Dhttps.proxyPort=port -Dhttps=proxyUser=user -Dhttps.proxyPassword="password" -Djavax.net.ssl.trustStore=c:/cacerts -Djavax.net.ssl.trustStorePassword=changeit
La seule différence est la position des propriétés du système! (avant et après le cours)
Si vous avez des caractères spéciaux dans le mot de passe, vous pouvez le mettre entre guillemets "@ MyPass123%", comme dans l'exemple ci-dessus.
Si vous accédez à un service HTTPS, vous devez utiliser https.proxyHost
, https.proxyPort
etc.
Si vous accédez à un service HTTP, vous devez utiliser http.proxyHost
, http.proxyPort
etc.