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