代码之家  ›  专栏  ›  技术社区  ›  Paras Gorasiya

AFNetworking将参数作为表单数据发送

  •  0
  • Paras Gorasiya  · 技术社区  · 9 年前

    我一直试图通过将内容类型设置为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 回复  |  直到 9 年前
        1
  •  1
  •   Nirmit Dagly    9 年前

    它在Github的AFNetworking页面上给出。 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);
    }];