我正在为我的Rest端点编写集成测试,我选择了常规的RestClient。我的休息电话是" HTTPS"我开始面临SSL异常。 在深入研究这个问题的同时,我很高兴知道ignoreSSLIssues()方法(http://groovy.codehaus.org/modules/http-builder/doc/ssl.html)。由于这在HttpBuilder的0.7.1版本中可用,我升级了这个jar和一些依赖的jar。所以有了这个,按照文档,我希望下面的代码可以工作 -
def httpBuilder = new HTTPBuilder('baseurl')
httpBuilder.ignoreSSLIssues()
def resp = httpBuilder.get(path : 'restPath')
println resp
但是这仍然是在抛出javax.net.ssl.SSLPeerUnverifiedException:peer未经过身份验证。
对此有任何帮助表示赞赏。
感谢。
答案 0 :(得分:0)
刚遇到这个问题。如果您使用出站代理并且未配置HTTPBuilder类以明确使用它,您也会收到此欺骗性错误。
您需要设置HTTPBuilder的setProxy()方法。无论出于何种原因,HTTPBuilder似乎都不尊重-Dhttp.proxyHost等JVM OPTS。我的版本看起来像这样:
import groovyx.net.http.HTTPBuilder
import static groovyx.net.http.Method.HEAD
def http = new HTTPBuilder( 'https://www.dev.java.net/' )
http.setProxy("my.proxy.com", 8080, "http")
http.ignoreSSLIssues()
def status = http.request( HEAD ) {
response.success = { it.status }
}