Подтвердить что ты не робот

Аутентификация HTTP в iPhone

Я надеюсь, что кто-то может помочь мне с вопросом, связанным с аутентификацией в Xcode В основном у меня есть сервер MS Sharepoint, который возвращает XML. Im Имея этот кусок кода для аутентификации, но он недоступен.

NSString *urlString = @"http://example.com/";

NSMutableURLRequest *request= [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];

NSString *str1 = [NSString stringWithString:@"username:password"];
NSData *myDate = [str1 dataUsingEncoding:NSUTF8StringEncoding];
NSString *str2 = [Base64 encode:myDate];
NSLog(@"%@ str1 %@", str2,str1);

[request addValue:[NSString stringWithFormat:@"Basic %@",str2] forHTTPHeaderField:@"Authorization"];

NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *str = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(@"%@", str);

Даже я передаю правильные учетные данные, но сервер не принимает. Он возвращает

401 - Неавторизованный: доступ запрещен из-за недопустимых учетных данных.

Может ли any1 помочь?

4b9b3361

Ответ 1

Использовать метод делегата NSURLConnection -connection:didReceiveAuthenticationChallenge:, чтобы определить, когда требуется проверка подлинности. Короче говоря, вы будете использовать NSURLCredential экземпляры для прикрепления аутентификации к запросу.

Документы имеют хороший обзор и пример кода:

Ответ на вызов аутентификации