Paramètres de proxy dans un programme java


J'essaie de me connecter à un service Web avec un client généré à partir de wsdl via un programme java dans eclipse. Je passe ma demande via un serveur proxy. Mais il semble que la demande ne passe pas. Les mêmes paramètres proxy fonctionnent correctement sur SoapUI. Veuillez trouver ci-dessous les propriétés système définies par moi.

Properties props= new Properties(System.getProperties()); 

props.put("http.proxySet", "true"); 

props.put("http.proxyHost", "10.x.x.x"); 

props.put("http.proxyPort", "80");

props.put("http.proxyUser","domainName\\xxx");

props.put("http.proxyPassword","xxx");

Properties newprops = new Properties(props);

Le programme Java lève une exception comme java.net.UnknownHostException:

Qu'est-ce que je suis absent?

Author: Charles Menguy, 2013-01-10

9 answers

java -Dhttp.proxyHost=proxyhostURL
     -Dhttp.proxyPort=proxyPortNumber
     -Dhttp.proxyUser=someUserName
     -Dhttp.proxyPassword=somePassword javaClassToRun

Http://i4t.org/2007/05/04/java-http-proxy-settings/

 9
Author: Abiram, 2013-05-29 09:10:42

J'utilise le code suivant (et cela fonctionne):

    String host = "10.x.x.x";
    String port = "80";
    System.out.println("Using proxy: " + host + ":" + port);
    System.setProperty("http.proxyHost", host);
    System.setProperty("http.proxyPort", port);
    System.setProperty("http.nonProxyHosts", "localhost|127.0.0.1");
 6
Author: Donato Szilagyi, 2014-09-18 18:16:19

Si vous connectez un service Web en utilisant HTTPS, la propriété proxy à définir est

https.proxyHost
https.proxyPort

(http://docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html)

 6
Author: Jt0, 2017-09-13 13:34:23

En plus de définir les propriétés du système, utilisez java.net.Authenticator pour définir également la configuration du proxy.

final String authUser = "user";
final String authPassword = "password";
Authenticator.setDefault(
   new Authenticator() {
      public PasswordAuthentication getPasswordAuthentication() {
         return new PasswordAuthentication(
               authUser, authPassword.toCharArray());
      }
   }
);

System.setProperty("http.proxyUser", authUser);
System.setProperty("http.proxyPassword", authPassword);
 2
Author: Snehasish, 2013-08-03 06:01:35

J'ai pu passer par le proxy en utilisant le morceau de code suivant.

Ajout de nouvelles lignes au code Snehasish

final String authUser = "username";
final String authPassword = "password";
Authenticator.setDefault(
   new Authenticator() {
      public PasswordAuthentication getPasswordAuthentication() {
         return new PasswordAuthentication(
               authUser, authPassword.toCharArray());
      }
   }
);
url = new URL("http://www.somewebsite.com/sendmyrequest");

connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.setFollowRedirects(true);

System.getProperties().put("http.proxyHost", "proxy.xyz.com");
System.getProperties().put("http.proxyPort", "portNumber");
System.setProperty("http.proxyUser", authUser);
System.setProperty("http.proxyPassword", authPassword);
System.getProperties().put("http.proxySet", "true");
 2
Author: jai kiran, 2016-02-22 14:29:20

Vous pouvez définir un proxy en utilisant System.setProperty()

System.setProperty("http.proxyHost","122.183.139.107");
System.setProperty("http.proxyPort","8080");

Et si vous voulez supprimer

System.setProperty("http.proxyHost","");
System.setProperty("http.proxyPort","");
 2
Author: Bhola, 2017-12-29 07:11:26

J'ai eu le même problème. Juste le code suivant fonctionne pour moi pour définir le proxy.

System.setProperty("java.net.useSystemProxies", "true");
 2
Author: Marykhanzadi, 2018-05-17 09:33:26

Il n'y a pas de propriété telle que http.proxySet.

Vous devez définir les autres propriétés avant d'utiliser des URL HTTP, et les modifier par la suite n'a aucun effet.

Si vous devez modifier dynamiquement les proxys, consultez java. net. Proxy.

'Connexion en texte brut?'signifie exactement ce qu'il dit: vous utilisez SSL vers une cible non SSL, probablement en texte brut.

 0
Author: user207421, 2018-12-11 09:58:43

Dans eclipse go, allez dans Window->Preferences. Il écritproxy dans la petite boîte sur le côté gauche. Vous devriez voir Connexions réseau , entrez le paramètre proxy pour les requêtes (HTTP devrait être suffisant) que vous utiliserez. Je crois que cela vous résoudra le problème sans définir le proxy à l'intérieur du code lui-même.

 -5
Author: Panda, 2013-01-10 12:39:02