调用 https://open.koudaitong.com 的接口时,
因为服务端开启了sni, 但是客户端也需要支持sni
java的客户端需要这样处理:
Java是在JDK1.7里才支持SNI的,因此要在Java应用里使用,前提就是将OpenJDK或者Oracle JDK升到1.7,如果同时使用HttpClient进行HTTP接口调用,那么还必须将HttpClient版本升到4.3.2及以后。
回到开头的异常问题,可以通过以下步骤修复:
1. 升级JDK至少到1.7。
2. 升级HttpClient至少到4.3.2。
3. 更新少量代码如下:
public class TestGet {
public static void main(String args[]) throws Exception {
HttpGet httpGet = new HttpGet("https://sub.domain.com/api/nodes");
//HttpClient httpClient = new DefaultHttpClient();
CloseableHttpClient httpClient = HttpClients.createDefault();
httpClient.execute(httpGet);
}
}
|
|
用手机打开
收藏
赞 0
···
回复
|
|
|
|