Bonjour,
j'ai entendu parler d'un moyen qui permettrait de contourner un proxy en Java. J'ai une application qui doit accéder à une page internet, mais le proxy de l'entreprise empêche l'action. Quelqu'un connaitrait des infos dessus?
merci
Bonjour,
j'ai entendu parler d'un moyen qui permettrait de contourner un proxy en Java. J'ai une application qui doit accéder à une page internet, mais le proxy de l'entreprise empêche l'action. Quelqu'un connaitrait des infos dessus?
merci
Le principe, c'est d'avoir un proxy qui fait l'authentification à la place de ton application.
Ton application envoie la requete au proxy (java), qui le transmet au proxy. Si le proxy demande une authentification, c'est ton proxy java qui s'en charge.
Ton proxy java recoit la réponse à la requête, et la transmet à ton application.
Le système d'autentification est imposé par le proxy, et peut être plus ou moins compliqué. Si java s'en charge, c'est super. Sinon, ca peut être galère, surtout pour les trucs propriétaires comme NTLM.
En tout cas, c'est pas tout simple, si t'es pressé, le mieux est de prendre une solution toute faite (pas forcement en java d'ailleurs)
En fait j'ai résolu le problème. Je ne pouvais pas accéder à une page web, il fallait indiquer dans le code, les propriétés du proxy (pour mon cas, je les ai trouvé dans le fichier .pac) et étant protéger par un login / mot de passe, il faut aussi les mettre.
Si ça peut aider du monde, je laisse le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Authenticator.setDefault( new Authenticator(){ protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication( "login", "password".toCharArray() );}}); Properties systemSettings = System.getProperties(); systemSettings.put("http.proxyHost", "host du proxy"); systemSettings.put("http.proxyPort", "port du proxy"); System.setProperties(systemSettings); URL url = new URL("adresse de la page"); HttpURLConnection httpCon = (HttpURLConnection) url.openConnection(); InputStream in = httpCon.getInputStream();
Partager