AFNetworking отправляет параметры как данные формы

Я пытался отправить параметры в виде данных формы, установив тип содержимого как application/x-www-form-urlencoded в HTTPHeaderField, но запрос не выполняется только для вышеуказанного типа содержимого, мой код работает для типа application/json. Таким образом, я не могу исправить реальную проблему, поэтому запрос не выполняется.

Ниже мой код::

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager.requestSerializer setTimeoutInterval:60];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager.requestSerializer setValue:requestAuthorization forHTTPHeaderField:@"Authorization"];
[manager.requestSerializer setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"];
[manager.requestSerializer setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[manager.requestSerializer setValue:[[[UIDevice currentDevice] identifierForVendor] UUIDString] forHTTPHeaderField:@"device_id"];
[manager.requestSerializer setValue:[[UIDevice currentDevice] systemVersion] forHTTPHeaderField:@"device_os"];
[manager.requestSerializer setValue:[[UIDevice currentDevice] systemName] forHTTPHeaderField:@"device_name"];

[manager POST:url parameters:parameters success:success failure:failure];

Любая помощь приветствуется.

Спасибо

1 ответ

Решение

Это дано на странице AFNetworking на Github. AFNetworking Library

Вы можете сделать это, просто используя следующий пример:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

NSDictionary *parameters = @{@"key": @"xxx"};

[manager POST:@"http://test.com" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
Другие вопросы по тегам