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

嗨我想发送一个帖子请求到服务器与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)

2 years ago

curl 示例中, api_keyversion 放在url路径中 . 在你的objc示例代码中,你将它们放在 header 字段中,它们是不一样的 .

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