9
votes

Puis-je définir le proxy sur la ligne de commande lorsque vous utilisez org.apache.comment.httpclient?

Si une application utilise les routines Java.Net. * Les routines, je peux définir un proxy lors de l'appel de l'application comme celle-ci: xxx

Cependant, j'ai une application (que je ne peux pas Modifier) ​​en utilisant org.apache.commons.httpclient pour effectuer la communication HTTP. Il ne spécifie pas un serveur de procxy, mais il utilise l'httpConnection par défaut. Y a-t-il une manière que je puisse dire au client HTTP Apache de la ligne de commande d'utiliser un serveur proxy?


0 commentaires

3 Réponses :


1
votes

Je ne pense pas. Mais voici un code que j'ai trouvé ce code dans un ancien projet, qui aurait dû travailler: xxx


1 commentaires

Merci. Malheureusement, je ne peux pas changer l'application, mais j'aurai peut-être besoin de le faire après tout



5
votes

Malheureusement, je ne pense pas que vous puissiez. Le seul moyen est que l'application de lire la propriété système puis de la définir dans le DEFAULTHTTPPARAMS objet.

Jetez un coup d'œil à ce fil sur le groupe httpclient-utilisateur pour plus de détails.


1 commentaires

Merci. Ce n'est pas le seul moyen (vous pouvez définir des proxy d'autres moyens, mais tous impliquent la modification de l'application, autant que je sache))



6
votes

Lorsque vous utilisez le constructeur httpClient, utilisez la méthode UTILISATIONSYSTEMPROTES () pour activer les paramètres proxy Standard JVM -D.
Voir http://hc.apache.org/httpcomponents-Client-ga/httpclient/apidocs/org/apache/http/impl/client/htttpclientbuilder.html#UserSystemProperties ()

Exemple: xxx

maintenant utilisez -dhttp.proxyhost = 10.0.0.100 -Dhttp.proxyport = 8800 pour configurer le proxy.


0 commentaires