Синтаксический анализ XML в iphone с URL-адресом аутентификации - PullRequest
4 голосов
/ 11 ноября 2011

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

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

Iхочу проанализировать этот URL-адрес в iphone, используя NSXMLParser .

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

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 Ответ

2 голосов
/ 11 ноября 2011

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

- (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];
 }
}
...