ios-swift获取Cookie

iOS为我们设计了一个独立的专门用来管理Cookie数据的类:NSHTTPCookieStorage,其中一个Cookie数据对应一个NSHTTPCookie类。

NSHTTPCookie是对一个Cookie数据的封装,以便我们读取Cookie内容。

其实默认情况下,我们可以不用管Cookie的,如果Response中带有Cookie,IOS会自动调用NSHTTPCookieStorage,把Cookie数据保存下来。当有新的请求时,NSURLRequest会自动带上相应的Cookie数据。

//
//  getCookie.swift
//  iosTest
//
reserved.
//  获取cookie值
//

import Foundation

class getMyCookie{
  //根据名字获取Cookie值
  public class func GetCookieByName(cookieName:String)->String?
    {
        let cookieArray:[HTTPCookie] = GetCookieArray()
        var value:String?
        if cookieArray.count > 0
        {
            for cookie in cookieArray
            {
                if cookie.name == cookieName
                {
                    value = cookie.value
                    break
                }
            }
        }
        return value
    }

    private class func GetCookieStorage()->HTTPCookieStorage{
        return HTTPCookieStorage.shared
    }

    private class func GetCookieArray()->[HTTPCookie]{
        let cookieStorage = GetCookieStorage()
        let cookieArray = cookieStorage.cookies
        if cookieArray != nil{
            return cookieArray as! [HTTPCookie]
        }
        else{
            return []
        }
    }
}

猜你喜欢

转载自blog.csdn.net/wa172126691/article/details/80255928
今日推荐