近期要写一个Rest Client访问HTTPS协议的URL,用Post方式以JSON格式拿回URL的数据。最开始选择的Client是javax.ws.rs-2.0.jar这个jar包,Client的创建方式是:
Client client = ClientBuilder.newClient();
遇到的第一个问题就是证书不通过,具体如下:
SEVERE: Error while committing the request output stream.
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present
网上折腾了半天,想到换一种Client的创建方式,如下:
Client client = ClientBuilder.newBuilder().hostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String hostname, SSLSession session) {
// TODO Auto-generated method stub
return true;
}
}).build();
这样之后,出现一个新的问题,如下: