首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSHTTPCookie cookiesWithResponseHeaderFields

NSHTTPCookie cookiesWithResponseHeaderFields
EN

Stack Overflow用户
提问于 2015-07-31 01:35:15
回答 1查看 1.5K关注 0票数 0

当调用API时,我收到以下响应:

代码语言:javascript
复制
<NSHTTPURLResponse: 0x7f96f0510f80> { URL: https://insula.magister.net/api/sessie } { status code: 201, headers {
    "Cache-Control" = "max-age=120, private";
    "Content-Length" = 0;
    Date = "Thu, 30 Jul 2015 17:27:11 GMT";
    "Set-Cookie" = "SESSION_ID=c8714acb-22f8-4295-90ee-82e9469890e1; domain=insula.magister.net; path=/api; secure; httponly";
    "Strict-Transport-Security" = "max-age=31536000";
    Vary = "Accept-Encoding,Cookie";
    "X-Frame-Options" = DENY;
} }

print(HTTPResponse.allHeaderFiles)打印以下输出:

代码语言:javascript
复制
[Set-Cookie: SESSION_ID=65a59001-de75-41ff-ad22-70549baa96f5; domain=insula.magister.net; path=/api; secure; httponly, Strict-Transport-Security: max-age=31536000, Date: Thu, 30 Jul 2015 17:33:13 GMT, X-Frame-Options: DENY, Content-Length: 0, Cache-Control: max-age=120, private, Vary: Accept-Encoding,Cookie]

但是我不能让cookiesWithResponseHeaderFields工作,我应该传递一个[String:String]数组作为第一个参数,但是响应似乎没有满足。

let cookies = NSHTTPCookie.cookiesWithResponseHeaderFields(HTTPResponse.allHeaderFields, forURL: url)

但是因为HTTPResponse.allHeaderFiles[NSObject:AnyObject]类型的数组,所以它不能满足[String:String]参数类型。谁知道该怎么办呢?

EN

回答 1

Stack Overflow用户

发布于 2015-11-26 14:33:36

有一个带great answersimilar question

您应该将allHeaderFields属性转换为所需的类型,即[String:String],如下所示:

代码语言:javascript
复制
  let foundCookies: [NSHTTPCookie]?
  if let responseHeaders = HTTPResponse.allHeaderFields as? [String:String] {
    foundCookies = NSHTTPCookie.cookiesWithResponseHeaderFields(responseHeaders, forURL:url)
  }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31730472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档