如何在java程序中进行代理配置

时间:2010-06-28 09:37:52

标签: java networking

我有一台通过代理服务器连接到互联网的电脑。我可以浏览google.com和所有其他网站。但是我无法ping google.com,smtp.gmail.com或任何其他网站。我正在尝试通过java程序发送一些自动邮件,但每次都无法连接到smtp.gmail.com。我需要在我的java程序中进行任何代理配置吗?? ??

2 个答案:

答案 0 :(得分:1)

简短回答是:在调用Java或使用http.proxyHost时使用http.proxyPort设置属性-DProperties

有关详细信息,请查看Java Networking and Proxies

答案 1 :(得分:0)

是的。如果您在防火墙后面,则需要配置代理。为此,请使用此代码。

Properties systemProperties = System.getProperties();
systemProperties.setProperty("http.proxyHost", "a.b.c.d");//replace a.b.c.d with your proxy IP
systemProperties.setProperty("http.proxyPort", "80");

或者,您可能希望覆盖DefaultAuthenticator。如果您的代理需要身份验证,您可能也必须这样做。

Authenticator.setDefault(new Authenticator() {
   protected PasswordAuthentication getPasswordAuthentication() {
   return new PasswordAuthentication("user","password".toCharArray());
   }
});