Я хочу позвонить по URL-адресу https из java, и он не является доверенным, а также у него нет доменного имени, кроме ip (публичного или частного).Когда я вызываю URL, который имеет доменное имя с ненадежным сертификатом, это работает.Но с IP-адресом это не работает.Это ошибка, которую я получил и исходный код.Подскажите, в чем проблема и как ее решить.
Спасибо!
Ошибка:
java.io.IOException: HTTPS hostname wrong: should be <xxx.xxx.xxx.xxx>
Источник:
public static void main(String args[]){
StringBuffer param = new StringBuffer();
param.append("https://xxx.xxx.xxx.xxx/insert.php");
param.append("?a=a");
param.append("&b=c");
param.append("&c=c");
System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
try{
URL url =new URL(param.toString());
URLConnection con = url.openConnection();
con.setAllowUserInteraction(true);
con.getInputStream();
BufferedReader in = new BufferedReader( new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer result = new StringBuffer();
while ((inputLine = in.readLine()) != null){
result.append(inputLine);
}
in.close();
System.out.println("Result=" + result.toString());
}catch(Exception ee){
System.out.print(ee);
}
}