使用系统代理
JVM属性java.net.useSystemProxies
:boolean
可以用来设置代理
当属性为true
时,Java网络通信将使用系统代理
System.setProperty("java.net.useSystemProxies", "true");
-Djava.net.useSystemProxies=true
手动设置代理
HTTP
http.proxyHost
:java.lang.String
代理服务器Hosthttp.proxyPort
:int
代理服务器端口http.proxyUserName
:java.lang.String?
代理服务器用户名http.proxyPassword
:java.lang.String?
代理服务器密码https.proxyHost
:java.lang.String
Https代理服务器Hosthttps.proxyPort
:int
Https代理服务器端口https.proxyUserName
:java.lang.String?
Https代理服务器用户名https.proxyPassword
:java.lang.String?
Https代理服务器密码
不使用身份验证时,用户名和密码不必填写
System.setProperty("http.proxyHost", "127.0.0.1");
System.setProperty("http.proxyPort", "1080");
// 不使用身份验证时,以下用户名和密码不必填写
System.setProperty("http.proxyUserName", "user");
System.setProperty("http.proxyPassword", "passwd");
System.setProperty("https.proxyHost", "127.0.0.1");
System.setProperty("https.proxyPort", "1080");
// 不使用身份验证时,以下用户名和密码不必填写
System.setProperty("https.proxyUserName", "user");
System.setProperty("https.proxyPassword", "passwd");
-Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=1080 -Dhttp.proxyUserName=user -Dhttp.proxyPassword=passwd -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=1080 -Dhttps.proxyUserName=user -Dhttps.proxyPassword=passwd
SOCKS
socks.proxyHost
:java.lang.String
代理服务器Hostsocks.proxyPort
:int
代理服务器端口socks.proxyUserName
:java.lang.String?
代理服务器用户名socks.proxyPassword
:java.lang.String?
代理服务器密码
不使用身份验证时,用户名和密码不必填写
System.setProperty("socks.proxyHost", "127.0.0.1");
System.setProperty("socks.proxyPort", "1080");
// 不使用身份验证时,以下用户名和密码不必填写
System.setProperty("socks.proxyUserName", "user");
System.setProperty("socks.proxyPassword", "passwd");
-Dsocks.proxyHost=127.0.0.1 -Dsocks.proxyPort=1080 -Dsocks.proxyUserName=user -Dsocks.proxyPassword=passwd
不要代理的Host
如果有不要代理的Host,可以使用nonProxyHosts
:java.lang.String?
来屏蔽代理
如果有多个服务器,以|
符号作为分隔符
http.nonProxyHosts
:java.lang.String?
https.nonProxyHosts
:java.lang.String?
socks.nonProxyHosts
:java.lang.String?
System.setProperty("http.nonProxyHosts", "127.0.0.1|localhost|192.168.*.*|noproxy.example.com");
System.setProperty("https.nonProxyHosts", "127.0.0.1|localhost|192.168.*.*|noproxy.example.com");
System.setProperty("socks.nonProxyHosts", "127.0.0.1|localhost|192.168.*.*|noproxy.example.com");
-Dhttp.nonProxyHosts=127.0.0.1|localhost|192.168.*.*|noproxy.example.com -Dhttps.nonProxyHosts=127.0.0.1|localhost|192.168.*.*|noproxy.example.com -Dsocks.nonProxyHosts=127.0.0.1|localhost|192.168.*.*|noproxy.example.com
Gradle
gradle可以通过命令设置代理
比如我要执行gradlew build
gradlew build -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=1080 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=1080