2013-09-26 3 views
0

У меня возникли проблемы с отправкой формы через метод post в https-соединение.Android HTTPS Post Issue

Обычная ошибка:

java.net.UnknownHostException 

Но я иногда получаю ошибку такие как соединение закрыто одноранговой

подав форму на HTTP URL, кажется, работает плавно, но при использовании соединения HTTPS- похоже, вызывает столько проблем.

Сертификат сервера действителен (подписан Go Daddy), и я не вижу никаких проблем, так как я могу получить устройства iOS, чтобы они были в порядке.

Я пробовал эти решения, но они, кажется, не сделали большой разницы:

Secure HTTP Post in Android

How to HTTPS post in Android

Android HTTPS Post - Not working

Android SSL https post

Not trusted certificate using ksoap2-android

У кого-нибудь есть полезный учебник или он может объяснить, как выполнить запись https?

Спасибо :)

ответ

0
URL url = new URL("https://www.xyz.com"); 
HttpsURLConnection httpURLConnection = (HttpsURLConnection) url.openConnection(); 
httpURLConnection.setRequestProperty("Content-Type", 
       "text/plain"); 
httpURLConnection.setRequestMethod("POST"); 
httpURLConnection.setDoOutput(true); 
httpURLConnection.setAllowUserInteraction(false); 
httpURLConnection.setInstanceFollowRedirects(true); 
httpURLConnection.setHostnameVerifier(DO_NOT_VERIFY); 
httpURLConnection.connect(); 
OutputStream outputStream = httpURLConnection.getOutputStream(); 
outStream.write(datainbytes); 



final static HostnameVerifier DO_NOT_VERIFY = new HostnameVerifier() { 
     public boolean verify(String hostname, SSLSession session) { 
      return true; 
     } 
}; 

Это работает безупречно для меня.

+0

Привет, Спасибо. однако это очень похоже на то, что у меня уже есть, и я получаю такую ​​же ошибку от этого. Вы вообще не хотите просто проверить сертификат? – TheT4llOne

+0

Попробуйте модифицированный код. Посмотрите, поможет ли это. Хотя это не хорошая практика. –

+0

это работает сейчас. Спасибо! любая идея, почему это было бы? – TheT4llOne