java.net.URL的代理环境变量

时间:2012-12-11 19:08:51

标签: scala proxy playframework

在我的Play 2应用程序中,我在java.net.URL Bee Client周围调用Scala包装器。根据文档,java.net.URL支持代理,但我找不到有关如何以及如何为环境变量设置的详细信息。

我试过,但没有成功,

export proxySet=true
export proxyHost=my-proxy-server
export proxyPort=1080

非常感谢任何帮助。

更新: 在进一步挖掘之后,它们不是环境变量,而是Rick指出的JVM命令行参数。但是,我尝试了以下也没有成功

export JAVA_OPTS="$JAVA_OPTS -Dhttp.proxyHost=my-proxy-server -Dhttp.proxyPort=1080"
sbt -Dhttp.proxyHost=my-proxy-server -Dhttp.proxyPort=1080 test

请注意,我将参数传递给sbt test

3 个答案:

答案 0 :(得分:5)

您要设置的属性是:

http.proxyHost
http.proxyPort

如果您需要身份验证,还可以设置以下内容:

http.nonProxyHosts
http.proxyUser
http.proxyPassword

它们不是您操作系统中的环境变量,因此您可以在启动时通过-D将它们传递给JVM,或者在System.setProperty的应用程序中将它们传递给JVM。这应该允许URL通过代理服务器连接。

此页面对属性进行了很好的总结:http://docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html

答案 1 :(得分:1)

我已将a new tutorial page添加到Bee Client文档中,了解如何通过代理发出请求。 (感谢您的建议。)

答案 2 :(得分:1)

我想通了,我还需要通过socks代理设置,可能是我公司的网络特有的,但这里有什么对我有用

sbt -Dhttp.proxyHost=my-proxy-server -Dhttp.proxyPort=1080 -DsocksProxyHost=my-socks-proxy-server test