Android HttpClient и HTTPS

Я новичок в реализации HTTPS-соединений в Android. По сути, я пытаюсь подключиться к серверу, используя org.apache.http.client.HttpClient. Я считаю, что в какой-то момент мне понадобится доступ к хранилищу ключей приложения, чтобы авторизовать моего клиента с помощью закрытого ключа. Но на данный момент я просто пытаюсь подключиться и посмотреть, что происходит; Я продолжаю получать ошибку HTTP/1.1 400 Bad Request.

Кажется, я не могу понять, что это, несмотря на множество примеров (кажется, что ни один из них мне не подходит). Мой код выглядит следующим образом (константа BODY - XmlRPC):

 private void connect() throws IOException, URISyntaxException{

    HttpPost post     = new HttpPost(new URI(PROD_URL));
    HttpClient client = new DefaultHttpClient();

    post.setEntity(new StringEntity(BODY));
    HttpResponse result = client.execute(post);

    Log.d("MainActivity", result.getStatusLine().toString());

}

Итак, довольно просто. Дайте мне знать, если у кого-нибудь есть какие-либо советы. Спасибо!

1 ответ

Это должно начать вас. Я использую в основном то же самое, за исключением ThreadSafeClientConnManager,

SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme("https", 
            SSLSocketFactory.getSocketFactory(), 443));

HttpParams params = new BasicHttpParams();

SingleClientConnManager mgr = new SingleClientConnManager(params, schemeRegistry);

HttpClient client = new DefaultHttpClient(mgr, params);
Другие вопросы по тегам