iOS/Tip

Cookies 저장과 값 읽기

까칠코더 2016. 11. 28. 17:49
반응형

Cookies 저장과 값 읽기

URLSession을 이용하여 Request 호출 후에 Cookies 저장하기

let task = URLSession.shared.dataTask(with: request){(data, response, error) in
    guard let data = data, error == nil else {
        print("error=\(error)")
        return
    }
    
    if let httpResponse = response as? HTTPURLResponse, let fields = httpResponse.allHeaderFields as? [String : String] {
        // 쿠키 저장하기
        let cookies = HTTPCookie.cookies(withResponseHeaderFields: fields, for: response!.url!)
        HTTPCookieStorage.shared.setCookies(cookies, for: response!.url!, mainDocumentURL: nil)
    }
}
task.resume()

Cookies에서 값 읽기

Cookies 배열을 직접 for문을 돌려서 구해도 되지만,
Swift에서는 간단하게 filter를 사용한다.

// 쿠키에서 SESSION 이름(name)을 가진 값(value) 을 빼오기 
if let session = cookies.filter({$0.name == "SESSION"}).first {
    print("session : \(session.value)")
}


반응형