Я новый разработчик Objective-C, и я взаимодействую с API в формате cURL. Я привык звонить с использованием URL-адресов, поэтому я собрал запрос от того, что я нашел в интернетах. Я все еще не могу извлечь данные в своем приложении.Перевод запроса cURL на NSMutableURLRequest
Это оригинальный запрос локонов (с фиктивными ключами, конечно):
curl -v -H "app_id:12345" -H "app_key:abcdefg" -X POST "http://data.host.com/object" -d '{"Page":0,"Take":10}'
Это моя попытка:
//Request
NSURLSession *session = [NSURLSession sharedSession];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://data.host.com/object"]];
//Set method
request.HTTPMethod = @"POST";
//Set parameters
NSDictionary *parameters = @{
@"Page": @(0),
@"Take": @(10)
};
NSMutableString *parameterString = [NSMutableString string];
for (NSString *key in [parameters allKeys]) {
if ([parameterString length]) {
[parameterString appendString:@"&"];
}
[parameterString appendFormat:@"%@=%@", key, parameters[key]];
}
NSLog(@"PARAMETER STRING: %@",parameterString);
//Set headers
[request setValue:@"12345" forHTTPHeaderField:@"app_id"];
[request setValue:@"abcdefg" forHTTPHeaderField:@"app_key"];
[request setHTTPBody:[parameterString dataUsingEncoding:NSUTF8StringEncoding]];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (!error) {
if ([data length]) {
NSDictionary *jsonResponse = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSLog(@"JSON RESPONSE: %@", jsonResponse);
}
} else {
NSLog(@"%@", error);
}
}];
[task resume];
NSLog(@"TASK: %@", task);
Я не получаю сообщение об ошибке, но jsonResponse возвращает NULL , У кого-нибудь есть идея о том, что мне не хватает? Заранее спасибо!