httpclient对象请求:如果报这个错:javax.net.ssl.SSLException: hostname in certificate didn't match证书不匹配的主机名
在使用org.apache.http库请求网络时,出现javax.net.ssl.sslexception:证书不匹配的主机名 的问题如果只是使用org.apache.http的话下面的方法就够了,在进行请求时多加一行(同时记得导入):SSLSocketFactory.getSocketFactory().setHostnameVerifier(new AllowAllHostnameVe
·
在使用org.apache.http库请求网络时,出现javax.net.ssl.sslexception:证书不匹配的主机名 的问题
如果只是使用org.apache.http的话下面的方法就够了,在进行请求时多加一行(同时记得导入):
SSLSocketFactory.getSocketFactory().setHostnameVerifier(new AllowAllHostnameVerifier());
protected String doInBackground(String... strings) {
final String url = strings[0];
//得到httpclient对象
DefaultHttpClient client = new DefaultHttpClient();
//封装get请求
HttpGet hg=new HttpGet(url);
//获取返回的response
try {
//修改org.apache.http的主机名验证解决问题
SSLSocketFactory.getSocketFactory().setHostnameVerifier(new AllowAllHostnameVerifier());
HttpResponse response = client.execute(hg);
//获取状态码
int statusCode = response.getStatusLine().getStatusCode();
if(statusCode==200){
//entiry 里面封装的数据;
HttpEntity entity = response.getEntity();
//这个result就是json字符串,剩下的就是解析工作了;
String s = EntityUtils.toString(entity);
return s;
}
如果只是使用org.apache.http的话下面的方法就够了,在进行请求时多加一行(同时记得导入):
SSLSocketFactory.getSocketFactory().setHostnameVerifier(new AllowAllHostnameVerifier());
protected String doInBackground(String... strings) {
final String url = strings[0];
//得到httpclient对象
DefaultHttpClient client = new DefaultHttpClient();
//封装get请求
HttpGet hg=new HttpGet(url);
//获取返回的response
try {
//修改org.apache.http的主机名验证解决问题
SSLSocketFactory.getSocketFactory().setHostnameVerifier(new AllowAllHostnameVerifier());
HttpResponse response = client.execute(hg);
//获取状态码
int statusCode = response.getStatusLine().getStatusCode();
if(statusCode==200){
//entiry 里面封装的数据;
HttpEntity entity = response.getEntity();
//这个result就是json字符串,剩下的就是解析工作了;
String s = EntityUtils.toString(entity);
return s;
}
更多推荐

所有评论(0)