public
class
LoginTest {
public
void
testHttpPost()
throws
Exception {
HttpClient client =
new
DefaultHttpClient();
client = WebClientDevWrapper.wrapClient(client);
HttpPost post =
new
HttpPost(
"https://localhost:8443/login"
);
// StringEntity entity = new StringEntity("user=test@abc.com&pwd=111&type=x");
// post.setEntity(entity);
List<NameValuePair> nameValuePairs =
new
ArrayList<NameValuePair>(
2
);
nameValuePairs.add(
new
BasicNameValuePair(
"user"
,
"test@abc.com"
));
nameValuePairs.add(
new
BasicNameValuePair(
"pwd"
,
"111"
));
nameValuePairs.add(
new
BasicNameValuePair(
"type"
,
"x"
));
post.setEntity(
new
UrlEncodedFormEntity(nameValuePairs));
HttpResponse res = client.execute(post);
System.out.println(res.getStatusLine());
BufferedReader br =
new
BufferedReader(
new
InputStreamReader(res.getEntity().getContent()));
String line = br.readLine();
while
(line !=
null
) {
System.out.println(line);
line = br.readLine();
}
client.getConnectionManager().shutdown();
}
}
public
class
WebClientDevWrapper {
public
static
HttpClient wrapClient(HttpClient base)
throws
Exception {
SSLContext ctx = SSLContext.getInstance(
"TLS"
);
X509TrustManager tm =
new
X509TrustManager() {
@Override
public
void
checkClientTrusted(java.security.cert.X509Certificate[] x509Certificates, String s)
throws
java.security.cert.CertificateException {
}
@Override
public
void
checkServerTrusted(java.security.cert.X509Certificate[] x509Certificates, String s)
throws
java.security.cert.CertificateException {
}
@Override
public
java.security.cert.X509Certificate[] getAcceptedIssuers() {
return
new
java.security.cert.X509Certificate[
0
];
}
};
ctx.init(
null
,
new
TrustManager[]{tm},
null
);
SSLSocketFactory ssf =
new
SSLSocketFactory(ctx);
ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
ClientConnectionManager ccm = base.getConnectionManager();
SchemeRegistry sr = ccm.getSchemeRegistry();
sr.register(
new
Scheme(
"https"
, ssf,
443
));
return
new
DefaultHttpClient(ccm, base.getParams());
}
}