2011-04-28 3 views
10

나는 Xcode의 인증과 관련된 질문을 누군가가 도와 줄 수 있기를 바랍니다. 기본적으로 XML을 반환하는 MS Sharepoint 서버가 있습니다. 임 인증을 위해이 코드 조각을 가지고 있지만 액세스 할 수 없습니다.iPhone에서 HTTP 인증

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 - 권한이 없음 : 잘못된 자격 증명으로 인해 액세스가 거부되었습니다.

아무나 도와 드릴까요?

답변

8

NSURLConnection 님의 -connection:didReceiveAuthenticationChallenge: 대리인 메서드를 사용하여 인증이 필요한시기를 감지하십시오. 즉, 요청에 인증을 첨부하기 위해 NSURLCredential 인스턴스를 사용할 것입니다. 난 그냥 똑같은 대답을 기록했다

Responding to an Authentication Challenge