ドメインの Cookie を AFHTTPSessionManager のリクエスト シリアライザーに手動で適用するコードがあります。コードを実行すると、Cookie がリクエストと共に送信されていることがわかります。ただし、マネージャーにそれらを自動的に処理させることはできないようです。
AFHTTPSessionManager が自動的に Cookie をドメイン内の特定のパスへのリクエストに適用するようにする方法はありますか?
-(void)configureCookiesForManager:(AFHTTPSessionManager*)_manager
{
NSArray *cookiesArray = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:_manager.baseURL];
NSDictionary *cookieHeaders = [NSHTTPCookie requestHeaderFieldsWithCookies:cookiesArray];
for(NSString* key in cookieHeaders)
{
NSString* value = cookieHeaders[key];
[_manager.requestSerializer setValue:cookieHeaders[key] forHTTPHeaderField:key];
}
私が試してみました:
cookieStorage.cookieAcceptPolicy = NSHTTPCookieAcceptPolicyAlways;
[NSURLSessionConfiguration defaultSessionConfiguration].HTTPCookieAcceptPolicy = NSHTTPCookieAcceptPolicyAlways; //could be duplicate
[NSURLSessionConfiguration defaultSessionConfiguration].HTTPShouldSetCookies = YES;
__manager.requestSerializer.HTTPShouldHandleCookies = YES;
私のクッキーは次のようになります。
[NSHTTPCookie]
name = name
value = MyPersistentCookie
domain = 10.1.1.111
path = /
expiresDate = 2017-02-19 19:08:57 +0000
sessionOnly = 0
secure = 0
comment = (null)
commentURL = (null)
version