3

我正在向服务器发出请求。这是卷曲命令:

curl -u admin@example.com: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

1 回答 1

5

我已经解决了,这是代码。

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];
于 2012-06-13T03:37:30.040 回答