swift如何处理NavigationAction.request.allHTTPHeaderFields?[“ Set-Cookie”]。我有一个包含多个Cookie的响应,并且我想知道如何处理它,因为navigationAction.request.allHTTPHeaderFields?[“ Set-Cookie”]返回一个字符串。我根本无法测试,因为我正在尝试实现单点登录,因此必须等到部署它后才能查看它是否有效。
最佳答案
为了以防万一,将来的用户更好的解决方案是实现WKNavigationDelegate并通过cookie进行迭代,如下所示:
func webView(_: WKWebView, decidePolicyFor: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void) {
let response = (decidePolicyFor.response as! HTTPURLResponse)
let cookies = HTTPCookie.cookies(withResponseHeaderFields: response.allHeaderFields as! [String : String], for: response.url!)
for cookie in cookies {
//cookie.value, cookie.name etc... do logic here
}
decisionHandler(.allow)
}