iPhone中的HTTP身份validation

我希望有人可以帮我一个问题,我有关于在Xcode身份validation基本上我有一个MS Sharepoint服务器返回XML。 我有这段代码进行身份validation,但它是无法访问。

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帮助吗?

使用NSURLConnection-connection:didReceiveAuthenticationChallenge:委托方法来检测何时需要身份validation。 简而言之,您将使用NSURLCredential实例将身份validation附加到请求。

该文档有一个很好的概述和代码示例:

应对authentication挑战

考虑使用开源的ASIHTTPRequest类,因为它使authentication的请求非常简单。