반응형

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)")
}


반응형

'iOS > Tip' 카테고리의 다른 글

Autolayout 우선순위  (0) 2016.12.14
URLSession 사용시 참고  (0) 2016.12.08
메모리 정보 가져오기  (0) 2016.11.30
현재 IP 가져오기  (0) 2016.11.29
UIView, UIWebView 캡쳐하기  (0) 2016.11.04
TextView, TextField에 메뉴 추가 하기  (0) 2016.10.14
아이폰 개발 기준 해상도  (1) 2016.10.14
iOS에서 세 자리수 마다 콤마(,) 넣기  (3) 2016.10.12
Posted by 까칠코더
,