IOS Не удается выполнить HTTP GET-запрос -Error Domain = NSURLErrorDomain Code = -1012

Я пытаюсь выполнить запрос HTTP Get, но я продолжаю получать ошибку Error Domain = NSURLErrorDomain Code = -1012. МОЙ код:

@try {
    NSString *url = [[NSString alloc] initWithFormat:@"%@%@", @"http://api.mintchat.com/agent/chats/", agentSecret];

    NSLog(@"******Agents Active List URL Str - %@", url);
    NSURL *nsUrl = [NSURL URLWithString:url];  
    NSLog(@"******Agents Active List URL - %@", nsUrl);

   // Make the request, returning a JSON response, just as a plain old string.
   //NSData *jsonDataString = [[NSString stringWithContentsOfURL:[NSURL URLWithString:url] encoding:NSUTF8StringEncoding error: nil] dataUsingEncoding:NSUTF8StringEncoding];

    NSError *error = nil;

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:nsUrl];
    [request setHTTPMethod:@"GET"];
    [request setValue:API_ID forHTTPHeaderField:@"X-API-ID"];
    [request setValue:API_SECRET forHTTPHeaderField:@"X­-API-­SECRET"];

    NSHTTPURLResponse *response = nil;
    NSData *urlData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

    NSLog(@"Response Code %d", [response statusCode]);
    if ([response statusCode] >= 200 && [response statusCode] < 300) {
        NSString *responseData = [ [NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
       NSLog(@"Response  ==> %@", responseData);        
    } else {
       if (error)
          NSLog(@"ERror : %@", error);
    }
}@catch(NSException *e) {
        NSLog(@"Exception - %@", e);
   }

Я должен получить ответ в JSon, но поскольку все не работает, мы пытаемся с некоторым нормальным ответом. Я подтвердил, что заголовки будут добавлены в запрос. Мне нужно добавить оба значения в заголовки. Правильный URL тоже.

Результаты/logs, которые я получаю: Код ответа 0

Ошибка: Error Domain = NSURLErrorDomain Code = -1012 "Операция не может быть завершена.     (NSURLErrorDomain error -1012.)" UserInfo = 0x8abf470 {     NSErrorFailingURLKey =....... NSErrorFailingURLStringKey =...... NSUnderlyingError = 0x8dafed0 "Операция не может быть выполнена. (KCFErrorDomainCFNetwork error -1012.)"     }

Я также много раз искал эту ошибку, но бит не смог получить существенной помощи. Я также подтвердил доступ к веб-серверу api. С другим url также получаю те же результаты. Из 3-х URL-адресов я мог бы получить результаты 1-го URL-адреса, используя POST, но те другие 2 URL-адреса - просто не могли пройти через него.

Кто-нибудь может помочь мне с этой проблемой. Где идет не так? Почему не удается получить доступ к api. Любая помощь высоко ценится. Благодаря

Ответы

Ответ 1

Эта ошибка NSURLErrorUserCancelledAuthentication

Возврат при аннулировании асинхронного запроса на аутентификацию пользователем. Обычно это происходит при нажатии кнопки "Отмена" в диалоговом окне имени пользователя/пароля, а не в попытке пользователя для аутентификации.

Это означает, что вам нужна аутентификация для доступа к ресурсу, к которому вы пытаетесь получить доступ, без правильной подписи вашего запроса (неправильный агентSecret или API_ID или API_SECRET)

Ответ 2

Вы можете получить эту ошибку, нажав URL-адрес HTTPS (не HTTP) с сертификатом bad/expired с AFNetworking. (Chrome показывает сообщение "Ваше соединение не является приватным" при ударе по URL-адресу).

Ответ 3

В моем случае я просто установил Да для следующего флага http-подключения. allowInvalidSSLCertificate = YES, он начинает работать для запроса https get.

Ответ 4

Если это кому-то поможет, вы получите эту ошибку, когда сервер отправит код состояния 401 (несанкционированный).