2012-06-12 2 views
3

서버에 요청하고 있습니다. 여기 컬 명령입니다 :username과 password를 사용하여 NSURLRequest에 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]; 
관련 문제