使用AFHTTPClient设置非默认HTTP标头

时间:2012-10-01 05:18:03

标签: iphone ios afnetworking

我看到如何使用AFHTTPClient设置默认标头,但我想仅在我对某些资源执行请求时才设置某些标头。有没有办法比构建我自己的NSURLRequest(使用正确的标题),创建一个操作并将该操作排入我的AFHTTPClient的子类?

1 个答案:

答案 0 :(得分:6)

如果您的网络请求显着不同,则可能更容易创建多个AFHTTPClient子类来处理不同的情况。在- (id)initWithBaseURL:(NSURL *)url

中添加标题

否则,无论何时使用AFHTTPClient子类创建NSURLRequest,都可以使用几种不同的方法设置标题:

[client setDefaultHeader:@"key" value:@"value"];
[client setAuthorizationHeaderWithUsername:@"username" password:@"password"];
[client setAuthorizationHeaderWithToken:@"token"];

您可以在使用以下内容创建NSURLRequest之前设置这些:

NSURLRequest *request = [client requestWithMethod:@"someMethod" path:@"somePath" parameters:someParameters];

然后你的标题应该只在那个请求中。您还可以使用- (void)clearAuthorizationHeader清除授权标头。从AFNetworking source code中取一点,你可以从NSMutableDictionary中删除任何必要的对象,如果它们没有被删除。