javax.net.ssl.SSLException: hostname in certificate didn't match证书不匹配的主机名(使用的是AsyncHttpClient)

在Android项目中对接HTTPS接口时遇到javax.net.ssl.SSLException,问题可能由后台设置多个站点引起。解决方案是使用自定义的AsyncHttpClient配置,包括创建自签名证书的SchemeRegistry和设置允许所有主机名验证器。代码示例展示了如何实现这个解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做项目对接https的接口,突然出现这种问题,之前还没有出现过,具体原因好像是后台设置了多个站点的原因,因为单个站点是没有问题的。具体原因没有深究。下面是我的解决方案,搜了好多,在一个博客底下的评论找到了方向,感谢。方案如下:

import com.loopj.android.http.AsyncHttpClient;

import com.loopj.android.http.AsyncHttpResponseHandler;

import com.loopj.android.http.MySSLSocketFactory;

import com.loopj.android.http.RequestParams;

import java.security.KeyStore;

import cz.msebera.android.httpclient.HttpVersion;

import cz.msebera.android.httpclient.conn.scheme.PlainSocketFactory;

import cz.msebera.android.httpclient.conn.scheme.Scheme;

import cz.msebera.android.httpclient.conn.scheme.SchemeRegistry;

import cz.msebera.android.httpclient.conn.ssl.SSLSocketFactory;

import cz.msebera.android.httpclient.params.BasicHttpParams;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值