web-dev-qa-db-ja.com

Android HttpClientおよびHTTPS

AndroidでHTTPS接続を実装するのは初めてです。基本的に、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());

}

とても簡単です。誰かが何かアドバイスがあれば教えてください。ありがとう!

31
harrisonlee

これで開始できます。 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);
16
synic