我是在 Android 中实现 HTTPS 连接的新手。本质上,我正在尝试使用 org.apache.http.client.HttpClient 连接到服务器。我相信,在某些时候,我需要访问应用程序的 keystore 才能使用私钥授权我的客户端。但是,就目前而言,我只是想建立联系,看看会发生什么;我不断收到 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());
}
所以,很简单。让我知道是否有人有任何建议。谢谢!
最佳答案
这应该可以帮助您入门。我使用的基本相同,除了 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);
关于Android HttpClient 和 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2603691/