记录一下使用groovy解决https ssl校验问题:
import javax.net.ssl.HostnameVerifier
import javax.net.ssl.HttpsURLConnection
import javax.net.ssl.SSLContext
import javax.net.ssl.TrustManager
import javax.net.ssl.X509TrustManager
import groovy.json.JsonSlurper
def nullTrustManager = [
checkClientTrusted: { chain, authType -> },
checkServerTrusted: { chain, authType -> },
getAcceptedIssuers: { null }
]
def nullHostnameVerifier = [
verify: { hostname, session -> true }
]
SSLContext sc = SSLContext.getInstance("SSL")
sc.init(null, [nullTrustManager as X509TrustManager] as TrustManager[], null)
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory())
HttpsURLConnection.setDefaultHostnameVerifier(nullHostnameVerifier as HostnameVerifier)
def url = "https://XXX.XXX.XXX"
def authorizationString = "username:password".bytes.encodeBase64().toString()
def jsonPara = new URL(url).getText(
requestProperties: ['Authorization': 'Basic ' + authorizationString]
)
println jsonPara
JsonSlurper slurper = new JsonSlurper()
def json1 = slurper.parseText(json)
def json2 = json['parameter']