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 に答える