AFNetworking + HTTPS (личность не проверена)

Мне нужно получить записи с моего веб-сервера через https Protcol. Мои вызовы API имеют базовую аутентификацию. Сейчас пытаюсь это с AFNetworking версия 2.0x

После работы и выяснения простейшего способа добавления базовой аутентификации здесь. Теперь у меня проблема с https вызов. Когда я выполняю свой код,

NSDictionary *params = ....;

AFHTTPRequestOperationManager *manager = [SBAPIManager sharedManager];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];

@try {
    [manager POST:@"Create" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"Success - %@", responseObject);
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"%@", error);
    }];
} @catch (NSException *exception) {
    NSLog(@"Exception - %@", exception.description);
} 

Получаю только ответ,

Ошибка Domain=NSURLErrorDomain Code=-1012 "Операция не может быть завершена. (NSURLErrorDomain ошибка -1012.)" UserInfo = 0x7fd268560900 {NSErrorFailingURLKey = https://myapi.com/Create, NSErrorFailingURLStringKey = https: //api / Создать }

Я обнаружил проблему с github, но AFNetworking 2.x (instancetype)policyWithPinningMode:(AFSSLPinningMode)pinningMode; по умолчанию. Как я мог интегрировать это в мое ограничение.

У кого-нибудь есть идеи по этому поводу?

1 ответ

Решение

Наконец-то нашёл ответ сам. Код ниже одного исправит мою проблему,

AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:API_URL]];
manager.securityPolicy.allowInvalidCertificates = YES; // not recommended for production
manager.responseSerializer = [AFHTTPResponseSerializer serializer];

Для самостоятельного закрепления с помощью AFNetworking мы должны включить ниже одной строки AFHTTPRequestOperationManager даст результат,

manager.securityPolicy.allowInvalidCertificates = YES; // не рекомендуется для производства

Большое спасибо

AFNetworking

Другие вопросы по тегам