如何将curl post数据转换为Objective C

时间:2018-04-07 09:28:53

标签: objective-c curl nsurlconnection nsurl nsmutableurlrequest

您好我想使用api_key和版本向服务器发送帖子请求 在卷曲中,我能够通过命令发送

curl -X POST -F" images_file=@fruitbowl.jpg" " https://gateway-a.watsonplatform.net/visual-recognition/api/v3/classify?api_key=fc1isndcb9fb837d139b11644ksks8cf3d66e175&version=2016-05-20"

当我尝试使用代码

在Objective C中执行此操作时
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setHTTPMethod:@"POST"];
[request setURL:[NSURL URLWithString:URL]];

[request addValue:@"fc1isndcb9fb837d139b11644ksks8cf3d66e175" forHTTPHeaderField:@"api_key"];
[request addValue:@"2016-05-20" forHTTPHeaderField:@"version"];
[request setHTTPBody:strData];

NSError *error = nil;
NSHTTPURLResponse *responseCode = nil;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&responseCode error:&error];

显示api_key无效。 我做错了吗?

1 个答案:

答案 0 :(得分:0)

InvalidParameter示例中,POST https://sns.ap-south-1.amazonaws.comcurl放在网址路径中。在您的objc示例代码中,您将它们放在api_key字段中,它们不一样。

要获得相同的结果,您应该将两个参数合并到version实体。