1

我了解如何使用 AFHTTPClient 设置默认标头,但我只想在对某些资源执行请求时设置某些标头。除了构建我自己的 NSURLRequest(带有正确的标头)、创建一个操作并将该操作排入我的 AFHTTPClient 子类之外,还有其他方法吗?

4

1 回答 1

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源代码中获取一些信息,您可以从 NSMutableDictionary 中删除任何必要的对象,如果它们没有被删除的话。

于 2012-11-13T00:37:19.413 回答