Синтаксический анализ XML в iphone с аутентификацией URL

#iphone #nsxmlparser

#iPhone #nsxmlparser

Вопрос:

Я выполняю синтаксический анализ xml, в то время как мой URL-адрес аутентифицируется URL с именем пользователя и паролем.

Когда я помещаю этот URL-адрес в браузер, он запрашивает у меня имя пользователя и пароль для входа.

Я хочу проанализировать этот URL в iphone с помощью NSXMLParser.

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

 NSString *UploadCardDesign=kLOGIN_URL;
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc]initWithURL:[NSURL URLWithString:UploadCardDesign]] autorelease];

[request setHTTPMethod: @"GET"];
[request setHTTPBody:nil]; 

NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
//NSString *strRequ=[[NSString alloc] initWithData:returnData encoding:nsen]
NSString *data=[[NSString alloc]initWithData:returnData encoding:NSUTF8StringEncoding];
  

И для синтаксического анализа:

 xmlParser = [[NSXMLParser alloc] initWithData:returnData];
[xmlParser setDelegate:self];
[xmlParser parse];
  

Пожалуйста, помогите мне в том же или посоветуйте, что я делаю для получения хороших результатов.

Ответ №1:

Реализуйте эту функцию делегирования для аутентификации….

 - (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
 if ([challenge previousFailureCount] == 0)
 {
  NSLog(@"received authentication challenge");

  NSURLCredential *newCredential;
  newCredential=[NSURLCredential credentialWithUser:@"root"
             password:@"rootpassword"
             persistence:NSURLCredentialPersistenceForSession];


  NSLog(@"credential created");

  [[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge];

  NSLog(@"responded to authentication challenge");

 }
 else
 {
  NSLog(@"previous authentication failure");

  UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Authentication Failure" 
              message:@"Website did not accept the username and password."
                delegate:nil
             cancelButtonTitle:@"OK" 
             otherButtonTitles:nil];
  [alert show];
  [alert release];
 }
}
  

Комментарии:

1. Где вызвать эту функцию для аутентификации?