我可以在创建会话后更新NSURLSession配置中的cookie吗?
我使用此代码更新Cookie但它似乎无法正常工作。
self.session = [NSURLSession sessionWithConfiguration:config delegate:self delegateQueue:nil];
self.session.configuration.HTTPShouldSetCookies = NO;
self.session.configuration.HTTPCookieAcceptPolicy = NSHTTPCookieAcceptPolicyAlways;
self.session.configuration.HTTPAdditionalHeaders = [NSHTTPCookie requestHeaderFieldsWithCookies:cookiesArray];
谢谢,
答案 0 :(得分:1)
不,你不能,你必须在创建会话之前从Apple文档创建配置:
在使用NSURLSessionConfiguration对象初始化会话对象之前,必须正确配置它。会话对象会复制您提供的配置设置,并使用这些设置来配置会话。配置完成后,会话对象将忽略您对NSURLSessionConfiguration对象所做的任何更改。如果需要修改传输策略,则必须更新会话配置对象并使用它来创建新的NSURLSession对象。
e.g。
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
configuration.HTTPShouldSetCookies = NO;
configuration.HTTPCookieAcceptPolicy = NSHTTPCookieAcceptPolicyAlways;
configuration.HTTPAdditionalHeaders = [NSHTTPCookie requestHeaderFieldsWithCookies:cookiesArray];
NSURLSession *session = [NSURLSession initWithSessionConfiguration:configuration];