stringWithContentsOfURL и HTTP 500 коды ошибок - PullRequest
2 голосов
/ 15 июня 2009

Я пытаюсь получить некоторые данные с сервера (мне не принадлежит сервер), однако он возвращает некоторые необходимые данные с кодом ошибки http 500, однако NSString stringWithContentsOfURL возвращает nil, если сервер возвращает код http 500.

Я бы хотел получить данные, даже если сервер вернул 500.

Ответы [ 2 ]

3 голосов
/ 15 июня 2009

NSURLConnection (как часть системы загрузки URL ) предоставит вам более низкий уровень контроля над запросом и интерпретации ответа; вам придется реализовать несколько методов обратного вызова для обработки детального управления запросом (и вы можете выбрать его синхронный вызов, чтобы имитировать stringWithContentsOfURL:, но это даст вам то, что вы хотите.

[NSString stringWithContentsOfURL:] - большое удобство, но в вашем случае вы хотите обойти способ, которым какао интерпретирует коды ответов HTTP, так что требуется больше работы.

1 голос
/ 25 октября 2012

Вы можете осторожно использовать этот код (никогда не из потока GUI):

NSURLRequest * request = ...

NSError * error = nil;
NSURLResponse * response = nil;

NSData * data = [NSURLConnection sendSynchronousRequest:request 
                                      returningResponse:&response 
                                                  error:&error];

NSInteger httpCode = [(NSHTTPURLResponse *)response statusCode];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...