请求https 一直报错
错误原因:
Error Domain=NSURLErrorDomain Code=-999 "已取消"
请求如下:
AFHTTPSessionManager *operationManager = [AFHTTPSessionManager manager];
operationManager.requestSerializer = [AFJSONRequestSerializer serializer];
operationManager.responseSerializer = [AFHTTPResponseSerializer serializer];
[operationManager POST:url parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
}];
原因是: 该url 对应的证书是无效的,而AFNetworking
默认是不允许无效证书并且验证域名的有效性的,所以一旦验证为无效的证书则自己会主动取消本次网络请求,这个可以在源码中窥探到:
知道问题所在,解决起来很简单
- 服务端配置有效的证书 (推荐)
- 设置AF的配置参数 (不推荐)
operationManager.securityPolicy.allowInvalidCertificates = YES;
operationManager.securityPolicy.validatesDomainName = NO;
网友评论