2012-03-30 2 views
0

Я в основном пытаются получить мое приложение, чтобы сделать следующую команду,Выполнение POST-запроса в Android

локон -i -X ​​POST -d "пользователь = USER & проход = PASS" https://websitehere.com

Но я не понимаю решений, которые я нашел до сих пор. Если я использую HttpPost для публикации nameValuePairs, что это должно быть?

Я также получаю IOException с информацией ssl-certificate-not-trusted-error, когда httpclient.execute (httppost); команда выполнена.

public void postData(String userString, String passString) { 

     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost("https://websitegoeshere.com"); 
     try { 
      // Add your data 
      List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
      nameValuePairs.add(new BasicNameValuePair("user", userString)); 
      nameValuePairs.add(new BasicNameValuePair("pass", passString)); 
      httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8)); 


      response = httpclient.execute(httppost); 



     } catch (ClientProtocolException e) { 
      e.printStackTrace(); 
     } catch (IOException e) {    
      e.printStackTrace(); 
     } 
    } 
+0

Ваш сертификат Недействительный. Протестируйте его здесь: https://www.digicert.com/help/index.htm – blindstuff

+0

Сайт, на котором вы сказали, что он действительный. – Corith

+0

Некоторые сертификаты не нравятся андроид, потому что, хотя они действительны, отсутствуют некоторые промежуточные сертификаты, обратитесь к поставщику сертификатов. – blindstuff

ответ

1

Если вы хотите игнорировать ошибку сертификата SSL, потому что вы доверяете сайту, вы должны предоставить собственный TrustManager, который доверяет все сертификаты.

См: HTTPS and self-signed certificate issue

+0

Спасибо, что ответили. Владелец сайта утверждает, что имеет действующий и действующий, могу ли я сделать что-то неправильно? – Corith

0

Возможно попробовать это средство для проверки подлинности:

HttpPost post = new HttpPost("https://websitegoeshere.com"); 
try { 
    UsernamePasswordCredentials creds = new UsernamePasswordCredentials(username, password); 
    post.addHeader(new BasicScheme().authenticate(creds, post)); 
} catch (AuthenticationException e) { 
    // Handle Exception 
} 
+0

Не работает, спасибо за попытку. – Corith

Смежные вопросы