在swift中自动设置Cookies
我正在存储我的应用程序的cookies。 我正在调用在swift中自动设置Cookies,swift,cookies,Swift,Cookies,我正在存储我的应用程序的cookies。 我正在调用HTTPCookieStorage类的setcookie()方法 设置cookie: let cookies = HTTPCookie.cookies(withResponseHeaderFields: responseheader, for: response.url!) for cookie in cookies { var cookieProperties = [HTTPCookiePropertyKey: Any](
HTTPCookieStorage
类的setcookie()方法
设置cookie:
let cookies = HTTPCookie.cookies(withResponseHeaderFields: responseheader, for: response.url!)
for cookie in cookies {
var cookieProperties = [HTTPCookiePropertyKey: Any]()
cookieProperties[HTTPCookiePropertyKey.name] = cookie.name
cookieProperties[HTTPCookiePropertyKey.value] = cookie.value
cookieProperties[HTTPCookiePropertyKey.domain] = cookie.domain
cookieProperties[HTTPCookiePropertyKey.path] = cookie.path
cookieProperties[HTTPCookiePropertyKey.version] = NSNumber(value: cookie.version)
cookieProperties[HTTPCookiePropertyKey.expires] = cookie.expiresDate
let newCookie = HTTPCookie(properties: cookieProperties)
HTTPCookieStorage.shared.setCookie(newCookie!)
}
for cookie in HTTPCookieStorage.shared.cookies! {
print(cookie)
}
从cookie store获取cookie:
let cookies = HTTPCookie.cookies(withResponseHeaderFields: responseheader, for: response.url!)
for cookie in cookies {
var cookieProperties = [HTTPCookiePropertyKey: Any]()
cookieProperties[HTTPCookiePropertyKey.name] = cookie.name
cookieProperties[HTTPCookiePropertyKey.value] = cookie.value
cookieProperties[HTTPCookiePropertyKey.domain] = cookie.domain
cookieProperties[HTTPCookiePropertyKey.path] = cookie.path
cookieProperties[HTTPCookiePropertyKey.version] = NSNumber(value: cookie.version)
cookieProperties[HTTPCookiePropertyKey.expires] = cookie.expiresDate
let newCookie = HTTPCookie(properties: cookieProperties)
HTTPCookieStorage.shared.setCookie(newCookie!)
}
for cookie in HTTPCookieStorage.shared.cookies! {
print(cookie)
}
删除cookie
for cookie in HTTPCookieStorage.shared.cookies! {
HTTPCookieStorage.shared.deleteCookie(cookie)
}
但是,即使我对setcookie方法进行注释,cookie也会自动设置。怎么可能呢?
尽管我没有调用set cookie方法,但标头中的cookie和cookie存储中的cookie是相同的,这是因为HTTPCookieStorage
的cookieAcceptPolicy
。这就是nshttpcookieacceptpolicy始终
这是因为HTTPCookieStorage的cookieAcceptPolicy
。即nshttpcookeeacceptpolicy始终