如何在Alamofire中设置Cookies,以便每当我杀死应用程序并重新启动它时,都会发送相同的cookie?
解决方法
使用NSHTTPCookie [cookiesWithResponseHeaderFields(_:forURL :)]方法从响应中获取cookie.
// setCookies func setCookies(cookies: NSHTTPCookie){ Alamofire.Manager.sharedInstance.session.configuration.httpcookiestorage?.setCookies(cookies,forURL: response.URL!,mainDocumentURL: nil) } // getCookies func getCookies() { let parameters: [String: AnyObject] = [:] Alamofire.request(.POST,"http://test.com/test",parameters: parameters).responseJSON { response in if let header = response.response?.allHeaderFields as? [String: String],URL = response.request?.URL { let cookies = NSHTTPCookie.cookiesWithResponseHeaderFields(header,forURL: URL) print(cookies) } } }
斯威夫特3:
func setCookies(cookies: HTTPCookie){ Alamofire.SessionManager.default.session.configuration.httpcookiestorage?.setCookies(cookies,forURL: URL,mainDocumentURL: nil) } Alamofire.request(url,method: HTTPMethod.post,parameters: parameters).responseData { (responSEObject) -> Void in if let resposecode = responSEObject.response?.statusCode { if resposecode != 200 { // error } else { // view all cookies print(httpcookiestorage.shared.cookies) } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。