AFNetworking 2.0 请求与自定义标头

10

我试图避免在这里问一个新手问题,但我是一名Android开发者正在学习IOS,我想不出如何在使用AFNetworking 2.0进行帖子请求时添加简单的标题。以下是到目前为止可以用于不需要标题的请求的代码。是否可以通过修改我的片段或提供替代片段来向我展示如何实现此功能?我看到了这篇教程:http://www.raywenderlich.com/30445,介绍了如何在“A RESTful Class”标题下添加标题,但其适用于afnetworking 1.0,而且据我所知现已过时。

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    NSDictionary *parameters = @{@"uid": @"1"};
    AFHT
    [manager POST:@"http://myface.com/api/profile/format/json" parameters:parameters  success:^(AFHTTPRequestOperation *operation, id responseObject) {
        //NSLog(@"JSON: %@", responseObject);

        self.feedArray = [responseObject objectForKey:@"feed"];

        [self.tableView reloadData];

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Error: %@", error);
    } ];
}
2个回答

43

AFHTTPRequestOperationManager下,您会注意到一个名为requestSerializer的属性。它的类型是AFHTTPRequestSerializer,通过HTTP管理器发出的请求将使用此对象指定的标头进行构建。

因此,请尝试以下操作:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

[manager.requestSerializer setValue:@"SomeValue" forHTTPHeaderField:@"SomeHeaderField"]

//Make your requests
您可以按以下方式从请求序列化器中读取标题字典:
manager.requestSerializer.HTTPRequestHeaders

请注意,一旦您以这种方式设置标题,它将用于所有其他操作!


0
 [manager.requestSerializer setAuthorizationHeaderFieldWithUsername:@"staging" password:@"dustylendpa"];

3
你的答案应该包含对代码的解释以及描述它如何解决问题。 - AbcAeffchen
类方法引用:http://cocoadocs.org/docsets/AFNetworking/2.0.0/Classes/AFHTTPRequestSerializer.html#//api/name/setAuthorizationHeaderFieldWithUsername:password: - OhadM

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接