我正在尝试将 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/