添加SSl认证

/**
* get https connection
*
* @param port
* @return
* @throws IOException
* @throws CertificateException
*/
private HttpClient makeHttpsClient(int port) throws CertificateException,
IOException {
MySSLSocketFactory socketFactory = null;
try {
KeyStore trustStore = KeyStore.getInstance(KeyStore
.getDefaultType());
trustStore.load(null, null);
socketFactory = new MySSLSocketFactory(trustStore);
Scheme sch = new Scheme("https", socketFactory, port);
HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters,
CONNECTION_TIME_OUT);
HttpConnectionParams.setSoTimeout(httpParameters, SOCKET_TIME_OUT);
HttpClient httpClient = new DefaultHttpClient(httpParameters);
httpClient.getConnectionManager().getSchemeRegistry().register(sch);
return httpClient;
} catch (KeyManagementException e) {
e.printStackTrace();
} catch (UnrecoverableKeyException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyStoreException e) {
e.printStackTrace();
}
return null;
}


private String invokeServer(List<NameValuePair> params, String serverURL)
throws Exception {
HttpPost post = new HttpPost(serverURL);
HttpEntity entity = new UrlEncodedFormEntity(params, "UTF-8");
post.setEntity(entity);
HttpResponse response = makeHttpsClient(443).execute(post);
int sCode = response.getStatusLine().getStatusCode();
if (sCode == HttpStatus.SC_OK) {
return EntityUtils.toString(response.getEntity());
} else
throw new Exception("StatusCode is " + sCode);
}

private String invokeServer(String serverURL) throws Exception {
HttpClient httpClient = makeHttpsClient(443);
HttpGet httpGet = new HttpGet(serverURL);
try {
HttpResponse httpResponse = httpClient.execute(httpGet);
int statusCode = httpResponse.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_OK) {
String str = EntityUtils.toString(httpResponse.getEntity());
return str;
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}

猜你喜欢

转载自jykenan.iteye.com/blog/1867716