永发信息网

https://m.baidu.com/from=1014517c/bd_page_type=1/

答案:2  悬赏:0  手机版
解决时间 2021-02-07 02:09
https://m.baidu.com/from=1014517c/bd_page_type=1/
最佳答案
NSURL *url = [NSURL URLWithString:@"https://www.google.com"];
AFHTTPRequestOperationManager *requestOperationManager = [[AFHTTPRequestOperationManager alloc]initWithBaseURL:url];
dispatch_queue_t requestQueue = dispatch_create_serial_queue_for_name("kRequestCompletionQueue");
requestOperationManager.completionQueue =requestQueue;

AFSecurityPolicy * securityPolicy =[AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];

//allowInvalidCertificates 是否允许无效证书(也就是自建的证书),默认为NO
//如果是需要验证自建证书,需要设置为YES
securityPolicy.allowInvalidCertificates =YES;

//validatesDomainName 是否需要验证域名,默认为YES;
//如设成NO的话,即服务器使用其他可信任机构颁发的证书,也可以建立连接,这个非常危险,建议打开。
//因为SSL证书上的域名是独立的,假如证书上绑定的域名是www.domain.com,那么mail.domain.com是无法验证通过的;如果需要同时验证主域名和子域名,可以申请通配符的域名*.domain.com来解决,即证书上绑定domain.com下的所有二级子域。
securityPolicy.validatesDomainName = YES;
//validatesCertificateChain 是否验证整个证书链,默认为YES
//设置为YES,会将服务器返回的TrustObject上的证书链与本地导入的证书进行对比。
//假如是信任的CA所签发的证书,则建议关闭该验证,因为整个证书链一一比对是完全没有必要(请查看源代码);
securityPolicy.validatesCertificateChain =NO;

requestOperationManager.securityPolicy =securityPolicy;

另afnetworking 3.0.0以上版本用的是AFHTTPSessionManager

 AFHTTPSessionManager * manager =[AFHTTPSessionManager manager];
   NSString * cerPath = [[NSBundle mainBundle]pathForResource:@"server" ofType:@"cer"];
   NSData * cerData = [NSData dataWithContentsOfFile:cerPath];
   NSLog(@"%@", cerData);
   manager.securityPolicy = [AFSecurityPolicypolicyWithPinningMode:AFSSLPinningModeCertificate withPinnedCertificates:[[NSArrayalloc] initWithObjects:cerData, nil]];
   manager.securityPolicy.allowInvalidCertificates = YES;
   [manager.securityPolicy setValidatesDomainName:NO];
   manager.requestSerializer = [AFJSONRequestSerializer serializer];
    manager.responseSerializer= [AFJSONResponseSerializer serializer];
   NSDictionary * parameter = @{@"username":self.username,@"password":self.password};
   [manager POST:@"https://192.168.1.4:9777" parameters:parametersuccess:^(NSURLSessionDataTask * task, id responseObject) {
       NSLog(@"success %@", responseObject);
       }
       failure:^(NSURLSessionDataTask * task, NSError * error) {
           NSLog(@"failure %@", error);
       }]

   NSAppTransportSecurity
   
        NSAllowsArbitraryLoads//设置为 YES,解除整个app的ATS限制;但是通过NSExceptionDomains进行的配置依然有效
       
       NSAllowsArbitraryLoadsInMedia //设置为 YES,解除通过AVFoundation框架访问媒体内容时的ATS 限制
       
       NSAllowsArbitraryLoadsInWebContent //设置为 YES,解除通过webview发出的网络请求的ATS限制
       
       NSAllowsLocalNetworking //设置为 YES,使得app可以载入任意本地资源,但不影响app的总体 ATS 策略
       
全部回答
思想的痼疾治得愈慢,行动的恶果现得愈快。 专制的淤泥积得愈多,文明的花朵开得愈少。 这样不知道行不行?自己想的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
积沙成丘谚语的下一句是什么?急急急!
川渝香面馆地址在哪,我要去那里办事
.手写时手机屏幕字迹变淡
男的(比我爸年龄大)我管叫大爷,女的我叫阿
丁字裤在哪里买
力所村地址好找么,我有些事要过去
据《十二五节能减排综合性工作方案》,关于加
美亿居这个地址在什么地方,我要处理点事
南亢村地址好找么,我有些事要过去
别人用我身份证正反照片和手持身份证照片能办
盾构施工中,关于注浆目的下列说法错误的是()
王雅村地址在哪,我要去那里办事
西河立交桥地址在哪,我要去那里办事
我的空调开着一段时间以后为什么没有冷风了,
苏泊尔电压力锅煮完米饭后打开排气阀排气,可
推荐资讯
电脑屏幕整体右移五公分怎么办
迈克尔杰克逊中有一个视频是在一个古堡里怪物
我的世界中国版花雨庭生存服能不能联机一起网
下列叙述中正确的是A. 细胞中的DNA都在染色体
补牙时 往牙洞里放的橙红色塑料细签是什么?
做无痛人流之前为什么又要做心电图又要抽血化
补写出下列名篇名句中的空缺部分。(10分) (
吉维尼怎么去啊,我要去那办事
厦门鼓浪屿多肉植物大棚哪里有!或者有大量品
停车场(秀延正街)地址好找么,我有些事要过去
祖明饭店地址在哪,我要去那里办事
安徽农业大学-成教楼这个地址在什么地方,我
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?