AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
//1.管理器
[manager setRequestSerializer:[AFHTTPRequestSerializer serializer]];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
/**** SSL Pinning ****/
[manager setSecurityPolicy:[AFSecurityPolicy customSecurityPolicy]]; ps:这个有问题..
//2.设置登录参数
NSString *url=@"https://192.168.11.140:8423";
NSDictionary *dict = @{ @"username":@"1234567", @"password":@"123" };
//3.请求
[manager POST:url parameters:dict success: ^(NSURLSessionDataTask*operation, id responseObject) {
NSLog(@"POST --> %@, %@", responseObject, [NSThread currentThread]); //自动返回主线程
} failure: ^(NSURLSessionDataTask *operation, NSError *error) {
NSLog(@"%@", error);
}];
这个函数放在对应的文件里面 类方法
+ (AFSecurityPolicy*)customSecurityPolicy
{
/**** SSL Pinning ****/
NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"server" ofType:@"cer"];
NSData *certData = [NSData dataWithContentsOfFile:cerPath];
AFSecurityPolicy *securityPolicy = [[AFSecurityPolicy alloc] init];
[securityPolicy setAllowInvalidCertificates:YES];
[securityPolicy setPinnedCertificates:@[certData]];
[securityPolicy setSSLPinningMode:AFSSLPinningModeCertificate];
/**** SSL Pinning ****/
return securityPolicy;
}