【发布时间】:2013-06-24 13:38:59
【问题描述】:
我需要通过代理才能访问我的目标服务器。看来我可以用这样的代码来做到这一点:
def http = new HTTPBuilder( 'http://www.somesite.com')
http.setProxy('proxy.com', 8080, 'http')
但不是这样:
System.setProperty("http.proxyHost", "proxy.com");
System.setProperty("http.proxyPort", "8080");
def http = new HTTPBuilder( 'http://www.somesite.com')
这不应该工作吗?
真正的问题是我在 Grails 应用程序中使用 HTTPBuilder 并期望使用 -Dhttp.proxyHost 和 -Dhttp.proxyPort 启动 Tomcat 会让 HTTPBuilder 通过代理...但它就像HTTPBuilder 忽略了那些 JVM 参数。
看起来httpclient 可以配置为使用如下JVM 参数:client.getHostConfiguration().setProxy(host, port)(来自this stackoverflow question)。这可以在HTTPBuilder 中完成吗(我不知道如何引用底层httpclient)?
【问题讨论】:
标签: grails groovy apache-httpclient-4.x httpbuilder