从一个UIWebView响应斯威夫特GET头

mar*_*cks 5 uiwebview uiwebviewdelegate swift3

我无法从UIWebView响应中获取标头,因为响应显然没有被缓存。有解决方法吗?我已经从试图代码在这里

混合原生的iOS我的应用程序使用视图控制器和UIWebView的。当我开始一个UIWebView会议上,我与写从哪里令牌从API登录救了我的钥匙链令牌的身份验证的cookie。

如果用户导航到Web视图中的另一个页面,则cookie似乎不正确。我的目标是从每个响应中获取身份验证cookie,并将其保存为服务器的身份验证令牌随每个请求的变化而变化。然后,我要添加的令牌回到了新的要求。

下面的代码总是返回零。我想从头令牌一个auth。

func webViewDidFinishLoad(webView: UIWebView) {
    if let request = webView.request {
        if let resp = NSURLCache.sharedURLCache().cachedResponseForRequest(request) {
            if let response = resp.response as? NSHTTPURLResponse {
                print(response.allHeaderFields)
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

kuz*_*zdu 1

适用于Swift 3Swift 4Swift 5

func webViewDidFinishLoad(_ webView: UIWebView) { 
    let headers = webView.request?.allHTTPHeaderFields
    for (key,value) in headers! {
        print("key \(key) value \(value)")
    } 
}
Run Code Online (Sandbox Code Playgroud)