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);