今天在公司内写了个demo,测试网络下载,结果外网连不上,内网可以下载,立马留意到是不是需要在java中设置代理,去度娘搜索了下,找到资料如下:
一般而言,要想让你的java应用使用代理连接网络,只需要设置一下system properties即可,有两种方法可以设置,一是直接在java代码里面调用System.setProperty()方法,还有就是通过-D选项添加java虚拟机参数,如 java -Dhttp.proxyHost=192.168.254.254 -Dhttp.proxyPort=9000 ,当然你也可以指定不使用代理访问的网站或者主机,http.nonProxyHosts属性指定不使用代理访问的域。示例如下所示:
System.setProperty("http.proxyHost", "192.168.254.254");System.setProperty("http.proxyPort", "9000");System.setProperty("http.nonProxyHosts", "localhost");
如果你想使用ftp代理可以以相同的方式设定如下系统属性:
ftp.proxyHost, ftp.proxyPort, and ftp.nonProxyHosts
使用socket代理可以设定socksProxyHost socksProxyPort
---------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------
有些时候我们的网络不能直接连接到外网, 需要使用http或是https或是socket代理来连接到外网, 这里是java使用代理连接到外网的一些方法, 希望对你的程序有用.
方法一使用系统属性来完成代理设置, 这种方法比较简单, 但是不能对单独的连接来设置代理:
/**
*@param