NSURLSession创建后,我可以在其配置中更新Cookie吗



创建会话后,我可以在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];

谢谢,

不可以,您必须在创建会话之前从Apple文档创建配置:

在使用NSURLSessionConfiguration对象初始化会话对象之前,正确配置该对象非常重要。会话对象复制您提供的配置设置,并使用这些设置来配置会话。配置后,会话对象将忽略您对NSURLSessionConfiguration对象所做的任何更改。如果需要修改传输策略,则必须更新会话配置对象,并使用它创建新的NSURLSession对象。

https://developer.apple.com/library/IOs/documentation/Foundation/Reference/NSURLSessionConfiguration_class/index.html

例如

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
configuration.HTTPShouldSetCookies = NO;
configuration.HTTPCookieAcceptPolicy = NSHTTPCookieAcceptPolicyAlways;
configuration.HTTPAdditionalHeaders = [NSHTTPCookie requestHeaderFieldsWithCookies:cookiesArray];
NSURLSession *session = [NSURLSession initWithSessionConfiguration:configuration];

最新更新