iOS - 无法添加 URLRequest 的 http header

标签 ios swift url request wkwebview

我正在尝试将 http header 添加到我正在 WKWebView 中加载的 URLRequest。

我试过这段代码:

    var urlRequest = URLRequest(url: URL(string: "url")!)
    urlRequest.addValue("value", forHTTPHeaderField: "key")
    self.viewerWebKit.load(urlRequest)

还有这个:

    var urlRequest = URLRequest(url: URL(string: "url")!)
    urlRequest.setValue("value", forHTTPHeaderField: "key")
    self.viewerWebKit.load(urlRequest)

但是当我用这段代码打印 http header 时:

func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void) {
    let headers = (navigationResponse.response as! HTTPURLResponse).allHeaderFields
    for (key,value) in headers {
        print("key \(key) value \(value)")
    }
    decisionHandler(.allow)
}

没有添加或设置任何内容。我做错了什么?

最佳答案

optional func webView(_ webView: WKWebView, 
  decidePolicyFor navigationAction: WKNavigationAction, 
  decisionHandler: @escaping (WKNavigationActionPolicy) -> Void)

使用这个委托(delegate)函数。您可以在 navigationAction.request 中找到请求的 header 。

关于iOS - 无法添加 URLRequest 的 http header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52990439/

相关文章:

ios - 在 swift 中使用 ACEAutocompleteBar 崩溃 :

ios - 无法调用非函数类型的值 'Any?!' :- Firebase, Swift3

javascript - 如何隐藏使用 PhantomJS 创建 PDF 的链接 URL?

facebook - 无效,因为未提供类型 'og:title' 的必需属性 'string'

Javascript - 使用正则表达式删除部分 url

ios - GKLocalPlayer localPlayer无法验证: "this application is not recognised by Game Center" error GKServerStatusCode 5019

ios - 将 UIImage 保存到个人文件夹,然后通过 UIImage.FromFile 加载它

ios - Swift:使用符合协议(protocol)的实例完成闭包

ios - 是否可以暂停 CAEmitterLayer?

Swift3.0 fileAttributes 在现有文件上抛出 "no such file"错误