2010-06-28 44 views
1

我有一臺通過代理服務器連接到互聯網的PC。我可以瀏覽google.com和所有其他網站。但是,我無法ping通google.com,smtp.gmail.com或任何其他網站。我試圖通過一個Java程序發送一些自動郵件,但每次都無法連接到smtp.gmail.com。有沒有我需要在我的Java程序中做任何代理配置.. ??如何在java程序中進行代理配置

+0

聽起來像是你可能會使用HTTP連接的代理服務器,例如瀏覽google.com,但在你的網絡連接是有限的。你必須得到一個防火牆開放,讓你連接到端口25(如果使用SSL,則爲465)smtp.gmail.com能夠從該機器發送郵件消息。 – laz 2010-06-28 13:55:19

回答

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()); 
    } 
}); 
1

簡短的回答是:調用java時,或使用Properties使用-D組屬性http.proxyHosthttp.proxyPort無論是。

有關詳情,看看Java Networking and Proxies

相關問題