我尝试连接到 https 服务器,但我收到错误 -1012(NSErrorFailingURLKey)。如果我尝试连接到 http,那么一切都很好。但我应该连接到 https。它可以是什么?我尝试通过 AFNetworking v1.0 和 v2.0 进行连接。我使用过 AFHTTPRequestOperation、AFHTTPRequestOperationManager、AFHTTPClient 等。PS当我尝试通过萤火虫连接到https时,一切都很好。我的意思是,服务器运行良好。
问问题
3742 次
4 回答
5
尝试#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 1
允许无效或自签名证书。
默认情况下,它们是不允许的,请参阅AFURLConnectionOperation.h
于 2013-11-06T09:25:50.983 回答
4
AFNetworking 中的安全策略规定allowInvalidCertificates
默认为NO
. 您需要将其设置为YES
.
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.securityPolicy.allowInvalidCertificates = YES; // not recommended for production
更多细节: https ://github.com/AFNetworking/AFNetworking#security-policy
于 2015-04-21T22:04:08.307 回答
1
我正在使用较新版本的 AFNetworking 库,但 #define 无法正常工作。
通过在客户端本身上将属性allowedInvalidSSLCertificate设置为YES解决了该问题:
httpClient.allowsInvalidSSLCertificate = YES;
于 2013-11-22T06:30:32.813 回答
0
它对我有用:
AFHTTPSessionManager* manager = [AFHTTPSessionManager manager];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
[manager POST: urlString parameters:bodyDict
success:^(NSURLSessionDataTask *task, id responseObject){
return;
}
failure:^(NSURLSessionDataTask *task, NSError *error){
failBlock(error);
}
];
于 2015-10-09T02:30:47.937 回答