@Test
public void initData() {
BufferedReader reader = null;
InputStream is = null;
try {
URL url = new URL("https://xxx.xxx.xxx.xxx/api/xxx");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Content-Type", "application/xml;charset=utf-8;");
connection.setRequestProperty("Authorization", "Basic xxxxxxxxxxxxxxxxxxxxxxxxx=");
connection.connect();
is = connection.getInputStream();
reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
StringBuilder buffer = new StringBuilder();
String strRead = null;
while ((strRead = reader.readLine()) != null) {
buffer.append(strRead);
}
System.out.println(buffer);
} catch (Exception e) {
e.printStackTrace();
} finally {
IOUtils.closeQuietly(reader);
IOUtils.closeQuietly(is);
}
}
报错如下
[color=red]javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)[/color]
网上查结果是不支持ip访问,必须用域名
于是修改hosts做本地解析
192.168.1.153 www.test.com
nginx 域名跳转
server {
listen 80;
server_name www.test.com;
location / {
proxy_pass https://xxx.xxx.xxx.xxx;
}
}
大功告成