1

我绝对是网络服务的菜鸟。我正在尝试使用 groovy 作为客户端来访问一个简单的 Web 服务。Web 服务具有基本身份验证并使用 https。在浏览器中,我会使用这样的东西:

https://myserver.com/app/services/soap/call?script=MyService&username=me&password=secret

我如何从 groovy 中调用它?我试图弄清楚如何使用 groovy-wslite,但我无法弄清楚(我知道如何使用 URL 进行服务......不知道所有这些正文和标题......等等......是或者它与我知道的 url 的关系如何工作)。我还尝试使用真正简单的 http 类型的调用:

'https://myserver.com/app/services/soap/call?script=MyService&username=me&password=secret'.toURL().text

但这没有用。是否有捷径可寻?

谢谢!

4

1 回答 1

3

我在发布后立即意识到问题可能与 SSL 和自签名证书有关。我找到了这篇文章:

http://java.dzone.com/articles/reading-https-url-self-signed

使用这个库:

https://github.com/kevinsawicki/http-request

然后解决方案变得非常简单:

def req = 'https://myserver.com/app/services/soap/call?script=MyService&username=me&password=secret'
req = HttpRequest.get(req)
req.trustAllCerts()
req.trustAllHosts()
println(req.body())

我确信有更好的方法可以做到这一点,但这对我有用。:D

于 2013-04-03T00:07:56.993 回答