【问题标题】:cURL request in Objective-C (POST)Objective-C 中的 cURL 请求(POST)
【发布时间】:2015-07-13 13:52:57
【问题描述】:

我正在努力将这些 cURL 请求转换为 Objective - C(稍后我将更改 API 密钥):

获取请求:

 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)。谁能给我指出一个好的资源或帮助我思考我做错了什么?

【问题讨论】:

    标签: ios objective-c http curl afnetworking


    【解决方案1】:

    检查下面的代码 sn-p 肯定会有所帮助。

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

    【讨论】:

      猜你喜欢
      • 2019-01-17
      • 2017-02-11
      • 1970-01-01
      • 2016-01-25
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-13
      相关资源
      最近更新 更多