我无法从UIWebView响应中获取标头,因为响应显然尚未缓存。有解决方法吗?我尝试过here的代码。
我的应用程序使用混合的原生iOS视图控制器和UIWebView。当我启动UIWebView会话时,我使用来自我的密钥链的auth令牌编写一个cookie,其中令牌从API登录中保存。
如果用户导航到网络视图中的其他网页,则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)
}
}
}
}
答案 0 :(得分:0)
在Swift 3中为我工作
func webViewDidFinishLoad(_ webView: UIWebView) {
let headers = webView.request?.allHTTPHeaderFields
for (key,value) in headers! {
print("key \(key) value \(value)")
}
}