1

在我的 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.

4

3 回答 3

6

您要设置的属性是:

http.proxyHost
http.proxyPort

如果您需要身份验证,您还可以设置这些:

http.nonProxyHosts
http.proxyUser
http.proxyPassword

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

这个页面对属性有一个很好的总结:http: //docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html

于 2012-12-11T21:30:48.517 回答
3

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

sbt -Dhttp.proxyHost=my-proxy-server -Dhttp.proxyPort=1080 -DsocksProxyHost=my-socks-proxy-server test
于 2012-12-12T18:48:03.803 回答
1

我在 Bee Client 文档中添加了一个关于如何通过代理发出请求的新教程页面。(感谢您的建议。)

于 2012-12-12T10:15:09.117 回答