Alamofire-Cookie相关

前言

app实现自动登录有很多种,比如常见的token,今天来讲一下利用Cookie来实现自动登录。

网络请求

网络请求使用的是Alamofire,对Cookie进行永久化存储,请求接口的时候设置HTTPHeaders,然后获取成功之后进行本地存储,下面直接添代码

// 请求头
if (UserDefaults.standard.string(forKey: "ml_cookie") != nil) && URLString == "member/me" {
            headers = [
            "Content-Type":"application/json",
            "Cookie":(UserDefaults.standard.string(forKey: "ml_cookie"))!
            ]
        }

请求成功之后

Alamofire.request(url, method: method, parameters: parameters, headers: headers).responseJSON { (response) in
            
            let headerFields = response.response?.allHeaderFields as! [String: String]
            let cookie = headerFields["Set-Cookie"]
            if cookie != nil && URLString == "member/login" {
                UserDefaults.standard.set(cookie, forKey: "ml_cookie")
            }
}

好了,大功告成了。

你可能感兴趣的:(Alamofire-Cookie相关)