通过代理访问网络
配置代理(例如,用于下载依赖项)是通过标准 JVM 系统属性完成的。
这些属性可以直接在构建脚本中设置。例如,设置 HTTP 代理主机可以使用System.setProperty('http.proxyHost', 'www.somehost.org')
.
示例 1:使用以下命令配置 HTTP 代理gradle.properties
:
systemProp.http.proxyHost=www.somehost.org systemProp.http.proxyPort=8080 systemProp.http.proxyUser=userid systemProp.http.proxyPassword=password systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost
HTTPS 有单独的设置。
示例 2:使用以下命令配置 HTTPS 代理gradle.properties
:
systemProp.https.proxyHost=www.somehost.org systemProp.https.proxyPort=8080 systemProp.https.proxyUser=userid systemProp.https.proxyPassword=password # NOTE: this is not a typo. systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost
SOCKS 有单独的设置。
示例 3:使用以下命令配置 SOCKS 代理gradle.properties
:
systemProp.socksProxyHost=www.somehost.org systemProp.socksProxyPort=1080 systemProp.java.net.socks.username=userid systemProp.java.net.socks.password=password
您可能需要设置其他属性才能访问其他网络。
有用的参考资料:
NTLM认证
如果您的代理需要 NTLM 身份验证,您可能需要提供身份验证域以及用户名和密码。
您可以通过两种方式提供用于向 NTLM 代理进行身份验证的域:
-
将系统属性设置
http.proxyUser
为类似 的值。domain/username
-
通过系统属性提供身份验证域
http.auth.ntlm.domain
。