卷曲请求

问题描述:

我竭力把这些卷曲的请求为目的 - C(我会在以后更改API密钥):卷曲请求

GET请求:

curl -v -H "app_id:4bf7860a" -H "app_key:0026e51c7e5074bfe0a0c2d4985804b2" -X GET "http://data.leafly.com/strains/blue-dream" 

帖子要求:

curl -v -H "app_id:4bf7860a" -H "app_key:0026e51c7e5074bfe0a0c2d4985804b2" -X POST "http://data.leafly.com/strains" -d '{"Page":0,"Take":10}' 

我已经能够弄到一个成功的请求:

NSURL *url = [NSURL URLWithString: [NSString stringWithFormat:@"http://data.leafly.com/strains/blue-dream"]]; 
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
    [request setHTTPMethod:@"GET"]; 
    [request setValue:@"application/json" forHTTPHeaderField: @"Content-Type"]; 
    [request addValue:@"4bf7860a" forHTTPHeaderField: @"APP_ID"]; 
    [request addValue:@"03d3eaa965c5809c5ac06a25505a8fe4" forHTTPHeaderField:@"APP_KEY"]; 

    NSURLSessionConfiguration *defaultConfigObject = [NSURLSessionConfiguration defaultSessionConfiguration]; 
    NSURLSession *session = [NSURLSession sessionWithConfiguration: defaultConfigObject delegate: nil delegateQueue: [NSOperationQueue mainQueue]]; 

    NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { 
     NSLog(@"Data: %@",data); 

     if (error) { 
      NSLog(@"ERROR: %@", error); 
     } else { 
      NSDictionary *jSONresult = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&error]; 
      NSLog(@"Strain %@",jSONresult); 
     } 
    }]; 
    [task resume]; 

我只是不能拼凑一个全面的方式来一致地拼凑这些请求(我试过http://unirest.io/objective-c.html)。任何人都可以指点我一个很好的资源,或者帮助我思考我做错了什么?

查看下面的代码段,应该肯定有帮助。

NSString *Post = [[NSString alloc] initWithFormat:@"{Page:0, Take:10}"]; 
NSData *PostData = [Post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 

NSURL *url = [NSURL URLWithString:@"http://data.leafly.com/strains"]; 
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url]; 
[req setHTTPMethod:@"POST"]; 
[req addValue:@"a2eaffe2" forHTTPHeaderField: @"app_id"]; 
[req addValue:@"49588984075af3d275a56c93b63eedc0" forHTTPHeaderField:@"app_key"]; 
[req setHTTPBody:PostData]; 

NSData *res = [NSURLConnection sendSynchronousRequest:req returningResponse:NULL error:NULL]; 
NSString *myString = [[NSString alloc] initWithData:res encoding:NSUTF8StringEncoding]; 
NSLog(@"%@", myString); 
+1

非常感谢这真的帮了大忙! –