历经几个小时的折腾,硬是没有搜到解决问题的方法。还好在公司前辈的指导下解决了此问题。下面我就把我的解决方法贴出来
<span style="font-size:18px;"> NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage]cookies];
NSString *signature = @"";
NSString *userId = @"";
NSString *JSESSIONID = @"";
for (NSHTTPCookie *cookie in cookies) {
if ([cookie.name isEqualToString:@"JSESSIONID"]) {
JSESSIONID = cookie.value;
}
if ([cookie.name isEqualToString:@"signature"]) {
signature = cookie.value;
}
if ([cookie.name isEqualToString:@"userId"]) {
userId = cookie.value;
}
}
NSString *cookieStr = [NSString stringWithFormat:@"JSESSIONID=%@;signature=%@;userId=%@",JSESSIONID,signature,userId];
[manager.requestSerializer setValue:cookieStr forHTTPHeaderField:@"Cookie"];</span>
思路就是把每个cookie的name和value拼接成一个字符串,然后以分号分隔开,再把这个字符串放到Header中。这样在服务器端就会自动解析出cookie的值了。
就这么简单,但是在网上找了大半天硬是没有找到可用的答案。所以把我的答案分享出来以供大家参考。
同理,SDWebImage框架中也可以用此方法。