Android HttpClient и HTTPS - PullRequest
       37

Android HttpClient и HTTPS

31 голосов
/ 09 апреля 2010

Я новичок в реализации соединений 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 Ответ

16 голосов
/ 09 апреля 2010

Это должно помочь вам начать. Я использую в основном то же самое, за исключением 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);
...