2009年9月27日 星期日

Java 程式透過公司Proxy連線到Internet

這個應該是不少在大公司上班的程式開發人員會問的問題 .
我們的公司要上網 , 必須透過 proxy , 而且要有申請過的Domain ID 跟 Password 才能連上網路去

那麼Java 程式或是Server軟體(Ex: Tomcat , Jetty) 要如何才能透過 proxy 連上 internet ?

基本的屬性:
http.proxy.host
http.proxy.port http.proxy.username
http.proxy.password
接著就看你要把它以程式的方式去設定或是以屬性的方式去設定
舉例來說:
 如果你原來要執行的Java 程式指令如下
java myDemoApp
加上相關屬性設定之後
java  -Dhttp.proxy.host=myProxyServerName -Dhttp.proxy.port=80 -Dhttp.proxy.username=myDomain\myUserID -Dhttp.proxy.password=myPassword    myDemoApp
(或者是在你的 Tomcat 啟動的 .bat 或是 Jetty 啟動的 .bat 中去修改加上上述的設定)

在這裡假設
http.proxy.host=myProxyServerName
http.proxy.port=80
http.proxy.username=myDomain\myUserID
http.proxy.password=myPassword
你可以使用 -D 去設定JVM的執行參數

或者你可以在你的程式碼中使用以下指令
System.setProperty("http.proxy.host" ,  "proxy.hinet.net");
System.setProperty("http.proxy.port" ,  "80");
System.setProperty("http.proxy.username", "myUserName");
System.setProperty("http.proxy.password", "myUserPassword");
在這裡只是舉例 , 所以 你要記得換成你使用的 proxy Server , port , username 跟password

這些設定記得看你的需求而定 , 甚至有其他的變化方式
這樣你的程式就可以在公司有proxy server的情況上 , 也能連上 internet

沒有留言: