Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
308 views
in Technique[技术] by (71.8m points)

ios - HTTP Authentication in iPhone

I am hoping someone can help me with a question i have relating to Authentication in Xcode Basically i have a MS Sharepoint server which return XML. Im Having this piece of code for authentication but it is unaccessible.

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);

Even I m passing correct credentials, but the server is not accepting. It returns

401 - Unauthorized: Access is denied due to invalid credentials.

Can any1 Help?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Use NSURLConnection's -connection:didReceiveAuthenticationChallenge: delegate method to detect when authentication is required. In short, you'll be using NSURLCredential instances to attach authentication to the request.

The docs have a good overview and code sample:

Responding to an Authentication Challenge


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...