Android HttpClient and HTTPS

59,395

This should get you started. I'm using basically the same, except with 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);
Share:
59,395
harrisonlee
Author by

harrisonlee

iOS developer and designer.

Updated on May 02, 2020

Comments

  • harrisonlee
    harrisonlee about 4 years

    I'm new to implementing HTTPS connections in Android. Essentially, I'm trying to connect to a server using the org.apache.http.client.HttpClient. I believe, at some point, I'll need to access the application's keystore in order to authorize my client with a private key. But, for the moment, I'm just trying to connect and see what happens; I keep getting an HTTP/1.1 400 Bad Request error.

    I can't seem to make heads or tails of this despite many examples (none of them seem to work for me). My code looks like this (the BODY constant is 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());
    
    }
    

    So, pretty simple. Let me know if anyone out there has any advice. Thanks!