# AFNetworking_Https **Repository Path**: adiljan.git/AFNetworking_Https ## Basic Information - **Project Name**: AFNetworking_Https - **Description**: 实现 AFNetworking 支持 Https - **Primary Language**: Objective-C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2016-11-03 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 使用 ### 一.证书准备 - 1.证书转换 在服务器人员,给你发送的crt证书后,进到证书路径,终端执行下面语句 openssl x509 -in 你的证书.crt -out 你的证书.cer -outform der 这样你就可以得到cer类型的证书了。双击,导入电脑。 - 2.证书放入工程 证书直接拖到项目里面就可以 ### 二. 代码修改 - 先在info.plist中,增加如下代码 ```objective-c NSAppTransportSecurity NSAllowsArbitraryLoads ``` - 下载AFNetworking 导入到项目中 ### 代码 ```objective-c #import #import "AfNetworking.h" ``` ```objective-c -(void)getInfo{ AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; // 2.申明返回的结果是text/html类型 manager.responseSerializer = [AFJSONResponseSerializer serializer]; [manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"]; manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/html",@"text/json",@"text/javascript", nil]; AFSecurityPolicy *policy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate]; policy.allowInvalidCertificates = YES; policy.validatesDomainName = YES; // 证书的路径 // /先导入证书 NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"mzl-server" ofType:@"cer"];//证书的路径 NSData *certData = [NSData dataWithContentsOfFile:cerPath]; manager.securityPolicy.pinnedCertificates = [[NSArray alloc] initWithObjects:certData, nil]; // 客户端是否信任非法证书 manager.securityPolicy.allowInvalidCertificates = YES; // 是否在证书域字段中验证域名 [manager.securityPolicy setValidatesDomainName:NO]; // 3.设置超时时间为5s manager.requestSerializer.timeoutInterval = 10; [manager GET:@"https://202.100.177.31/ug/v1/city/list" parameters:nil success:^(AFHTTPRequestOperation * _Nonnull operation, id _Nonnull responseObject) { NSLog(@"===============%@",responseObject); // NSDictionary *dictData = [NSJSONSerialization JSONObjectWithData:responseObject options:kNilOptions error:nil]; // NSLog(@"===============%@",dictData); } failure:^(AFHTTPRequestOperation * _Nullable operation, NSError * _Nonnull error) { NSLog(@"-------------失败"); }]; } ```