Я должен вызвать начальную букву GET HTTP request
с Основным Authentication
. Это было бы первым разом, когда запрос отправлен к серверу, и я уже имею username & password
таким образом, нет никакой потребности в вызове со стороны сервера для авторизации.
Первый вопрос:
Делает NSURLConnection
должны быть установлены как синхронные сделать Основного Автора? Согласно ответу на этом сообщении, кажется, что Вы не можете сделать Основного Автора, если Вы выбираете асинхронный маршрут.
Любой знает о любом некотором примере кода, который иллюстрирует Основного Автора на a GET request
без потребности в ответе проблемы? Документация Apple показывает пример, но только после того, как сервер выпустил запрос проблемы клиенту.
Я являюсь довольно новым сетевая часть SDK, и я не уверен, какой из других классов я должен использовать для получения этой работы. (Я вижу NSURLCredential
класс, но кажется, что это используется только с NSURLAuthenticationChallenge
после того, как клиент запросил на авторизованный ресурс с сервера).
Я использую асинхронную связь с MGTwitterEngine и он устанавливает разрешение в NSMutableURLRequest
(theRequest
), как:
NSString *authStr = [NSString stringWithFormat:@"%@:%@", [self username], [self password]];
NSData *authData = [authStr dataUsingEncoding:NSASCIIStringEncoding];
NSString *authValue = [NSString stringWithFormat:@"Basic %@", [authData base64EncodingWithLineLength:80]];
[theRequest setValue:authValue forHTTPHeaderField:@"Authorization"];
Я не верю, что этот метод требует прохождения через цикл вызова, но я могу ошибаться
.Не могли бы вы сказать мне, в чем причина ограничения длины строки кодирования до 80 в вашем примере кода? Я думал, что заголовки HTTP имеют максимальную длину примерно 4 КБ (или, может быть, некоторые серверы не занимают больше времени). - Джастин Гальзич, 29 дек. 2009 г., 17:29
Это не ограничение до 80, это опция метода base64EncodingWithLineLength в NSData + Base64.h / m, где вы можете разбить закодированную строку на несколько строк, которые полезен для других приложений, таких как передача nntp. Я считаю, что 80 выбрано автором движка твиттера как длина, достаточная для размещения большинства результатов, закодированных пользователем / паролем, в одной строке.