当前位置 : 主页 > 手机开发 > 其它 >

Swift从UIWebView响应中获取头文件

来源:互联网 收集:自由互联 发布时间:2021-06-11
我无法从UIWebView响应中获取标头,因为响应显然尚未缓存.有解决方法吗?我尝试过 here的代码. 我的应用程序使用混合的原生iOS视图控制器和UIWebView.当我启动UIWebView会话时,我使用来自我
我无法从UIWebView响应中获取标头,因为响应显然尚未缓存.有解决方法吗?我尝试过 here的代码.

我的应用程序使用混合的原生iOS视图控制器和UIWebView.当我启动UIWebView会话时,我使用来自我的密钥链的auth令牌编写一个cookie,其中令牌从API登录中保存.

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

下面的代码总是返回nil.我正试图从标题中获取一个身份验证令牌.

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)
            }
        }
    }
}
在Swift 3中为我工作

func webViewDidFinishLoad(_ webView: UIWebView) { 
    let headers = webView.request?.allHTTPHeaderFields
    for (key,value) in headers! {
        print("key \(key) value \(value)")
    } 
}
网友评论