在Xcode7.0之后,蘋果廢棄了NSURLConnection方法,數(shù)據(jù)請(qǐng)求使用NSURLSession,作為網(wǎng)絡(luò)請(qǐng)求類第三方庫使用量最大的AFN也及時(shí)的更新的新的版本——AFN 3.0版本。新的版本的里廢棄了基于NSURLConnection封裝的AFHTTPRequestOperationManager,轉(zhuǎn)而使用基于NSURLSession封裝的AFHTTPSessionManager了。
支持https(校驗(yàn)證書,不可以抓包):
// 1.初始化單例類
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.securityPolicy.SSLPinningMode = AFSSLPinningModeCertificate;
// 2.設(shè)置證書模式
NSString * cerPath = [[NSBundle mainBundle] pathForResource:@"xxx" ofType:@"cer"];
NSData * cerData = [NSData dataWithContentsOfFile:cerPath];
manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate withPinnedCertificates:[[NSSet alloc] initWithObjects:cerData, nil]];
// 客戶端是否信任非法證書
mgr.securityPolicy.allowInvalidCertificates = YES;
// 是否在證書域字段中驗(yàn)證域名
[mgr.securityPolicy setValidatesDomainName:NO];
支持https(不校驗(yàn)證書,可以抓包查看):
// 1.初始化單例類
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
// 2.設(shè)置非校驗(yàn)證書模式
manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];
manager.securityPolicy.allowInvalidCertificates = YES;
[manager.securityPolicy setValidatesDomainName:NO];
轉(zhuǎn)載:m.itdecent.cn/p/e727fc5d08ea