Я пытаюсь отправить SMS с номера java с помощью API.
Мне просто нужно сделать https-запрос с параметрами, записанными в URL.
https://notificame.claro.com.hn/api/http/send_to_contact?msisdn504999999=&message=mymessage&api_key=00000&id=000
Если я скопирую полученный URL и вставлю его прямо в браузер, он отправит SMS.
У меня есть рабочий код, использующий это на PHP, но я нужно, чтобы он работал на JAVA
Я пробовал это:
try
{
HttpsURLConnection con;
URL url = new URL(pre_url);
con = (HttpsURLConnection) url.openConnection();
System.out.println(url.getContent());
} catch (MalformedURLException ex) {
Logger.getLogger(crearUsuarioBean.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(crearUsuarioBean.class.getName()).log(Level.SEVERE, null, ex);
}
, но я получаю эту ошибку:
Severe: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)...
Я также выполнил некоторые инструкции, используя keytool добавить сертификат с .cer в cacerts, но безуспешно. У меня есть две папки, jdk1.8.0_131 и jre1.8.0_131, поэтому я уже пробовал установить сертификат на обе. По-прежнему безуспешно.
Это код, который выполняет для меня работу на PHP:
function enviarMensaje($cel, $solicitud, $id){
$mensaje="My message";
$url = "https://notificame.claro.com.hn/api/http/send_to_contact?msisdn=504".$cel."&message=".$mensaje."&api_key=MyAppiKey&id=".$id;
$url = str_replace(" ", "%20", $url);
file($url);
echo $url."<br />\n";
}
Мне просто нужно что-то простое вроде этого. Я работаю над JSF2.2, используя Primefaces
Или, может быть, какой-нибудь способ вызвать простой код php прямо из java.
Помогите, пожалуйста.