swift - 快速自动设置cookies

标签 swift cookies

我正在努力存储我的应用程序的 cookie。 我正在调用 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!)
    }

从 cookie 存储中获取 cookie:

for cookie in HTTPCookieStorage.shared.cookies! {
  print(cookie)
}

删除 cookie

for cookie in HTTPCookieStorage.shared.cookies! {
  HTTPCookieStorage.shared.deleteCookie(cookie)  
}

但是,即使我注释掉 setcookie 方法,cookie 也会自动设置。这怎么可能 ? header 中的 cookie 和 cookie-store 中的 cookie 是相同的,即使我没有调用设置 cookie 方法

最佳答案

这是因为 default HTTPCookieStoragecookieAcceptPolicy。即 NSHTTPCookieAcceptPolicyAlways

关于swift - 快速自动设置cookies,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41612937/

相关文章:

ios - UIScrollView 重叠

swift - 如何使用 XCTWaiter 和异常快速测试异步函数

ios - WatchKit 2.0 和 iPhone 共享核心数据

rest - 在 API Rest golang 中发送 cookie

javascript - 是否可以在 Javascript 中设置 session cookie,以便只有该浏览器实例可以看到它?

swift - 向表格 View 单元格添加投影

ios - 在 pod 部分编写代码时无法访问 AppDelegate 类

javascript - 当我们运行 2 个或多个项目时无法创建新的 session ID

c# - 如何获得最近通过身份验证的用户?

javascript - 如果 cookie 大小超出浏览器限制,浏览器会抛出一些错误吗?