Android HttpClient 和 HTTPS

标签 android ssl https httpclient bad-request

我是在 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/

相关文章:

android - mainActivity.runOnUiThread 更新表中的数据太慢

python - 带有 SSL "Connection reset by peer"错误的 MQTT

android - 我如何在我的图书馆中获得 Network Security Config 的好处?

apache - Tomcat 8 使 apache 服务器 + SSL 后面的 session 无效

amazon-web-services - 使用 HTTPS 将多个域重定向到单个域的最简单方法

html - 为什么我的 https 站点 url 是红色的,尽管我已经配置并使其安全

java - 自定义启动器应用程序图标问题?

android - 用于测试网络状态的广播接收器不工作

android - 从哪里获取 Google Pay 服务的 Java 软件包?

jquery - 在 IE9 上托管 jquery、ssl