0

我正在尝试访问具有要解析的 xml 的页面。我正在使用以下代码,只要我不需要凭据即可。如何向此代码添加凭据?

NSURL *url = [[NSURL alloc] initWithString:URLPath];
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:url];

[xmlParser setDelegate: self];
success = [xmlParser parse];

我的“URLPath”上方是我的 url 字符串。我尝试使用以下 url 路径格式,但它对我不起作用。 http://username:password@mypage.com/path/to/file.aspx?Function=Update

谢谢!

4

1 回答 1

1

使用NSURLConnectionDelegates

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
    if ([challenge previousFailureCount] == 0) {
        NSLog(@"received authentication challenge");
        NSURLCredential *newCredential = [NSURLCredential credentialWithUser:@"USER"
                                                                    password:@"PASSWORD"
                                                                 persistence:NSURLCredentialPersistenceForSession];
        NSLog(@"credential created");
        [[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge];
        NSLog(@"responded to authentication challenge");    
    }
    else {
        NSLog(@"previous authentication failure");
    }
}

有关更多信息,请参阅iOS 中的 NSURLConnection 和基本 HTTP 身份验证

于 2012-10-31T16:22:55.373 回答