iOS 使用AFNetworking 设置cookie

时间:2024-11-01 12:05:02

本问题是由于多账号访问统一服务器时, 由于服务器那边接收到sessionid一样, 故无法区分账号信息.

所以需要在移动端请求的时候重新设置cookie, 步骤如下:

1. 在登录的时候, 先将 response.allHeaderFields[@"Set-Cookie"] 的值保存起来

[[NSUserDefaults standardUserDefaults] setValue:response.allHeaderFields[@"Set-Cookie"] forKey:[NSString stringWithFormat:@"session_%@_%@",username,host]];

2. 在重写AFNetworking的请求方法中重新设置

NSString *sessionString = [[NSUserDefaults standardUserDefaults] objectForKey:[NSString stringWithFormat:@"session_%@_%@",username,host]];
[self.requestSerializer setValue:sesstionString forHTTPHeaderField:@"Cookie"];

这样就能满足这个需求了