2012-06-12 72 views
3

我向服務器發出請求。這裏的捲曲命令:使用用戶名和密碼向NSURL請求發送curl命令

curl -u [email protected]:12321 -d 'oauth_signature_method=PLAINTEXT&oauth_consumer_key=0d716e57-5ada-4b29-a33c-2f4af1b26837&oauth_signature=f0963fa5-1259-434f-86fc-8a17d14b16ca%26' 'https://external.ningapis.com/xn/rest/apiexample/1.0/Token?xn_pretty=true' 

現在我想用NSURLRequest做出請求,有人知道該怎麼做嗎?

回答

4

我已經解決了這個問題,下面是代碼。

NSURL *url = [NSURL URLWithString:@"https://external.ningapis.com/xn/rest/tapatalk/1.0/Token?xn_pretty=true"]; 
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url]; 
NSString *theUsername = @"username"; 
NSString *thePassword = @"password"; 
NSString *loginString = [NSString stringWithFormat:@"%@:%@",theUsername,thePassword]; 
NSString *authString = [@"Basic " stringByAppendingFormat:@"%@", [self base64Encoding:[loginString dataUsingEncoding:NSUTF8StringEncoding]]]; 
[request setValue:authString forHTTPHeaderField:@"Authorization"]; 
[request setHTTPMethod:@"POST"]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 

NSString *requestStr = @"oauth_signature_method=PLAINTEXT&oauth_consumer_key=yourconsumerkey&oauth_signature=yourconsumerkeysecret%26"; 
[request setHTTPBody:[requestStr dataUsingEncoding:NSUTF8StringEncoding]]; 
[request setValue:[NSString stringWithFormat:@"%d", [[requestStr dataUsingEncoding:NSUTF8StringEncoding] length]] forHTTPHeaderField:@"Content-Length"]; 

NSError *error = nil; 
NSURLResponse *response; 
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
NSString *data=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding]; 
相關問題