HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 向WKWebView中的所有传出请求添加请求标头大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
TL; DR:我有一个带WKWebView的iOS( Swift)项目.我想在此WKWebView中向所有传出请求(html,图像,脚本,样式表等)添加请求标头.我无法找到如何做到这一点.

背景:
我有一个Swift iOS应用程序,它使用WKWebView来呈现它的html视图.这些视图托管在我们的服务器上,这些服务器分为生产环境和临时环境.我已经使用Akamai设置了登台环境,以便所有传入的请求必须通过请求标头,以便请求被接受.

问题:
目前,我已经创建了一个WKWebView的子类,它覆盖了loadrequest方法,它@R_772_7957@:

override func loadrequest(request: NSURLrequest) -> WKNavigation? {
    guard let mutablerequest = request.mutablecopy() as? NSMutableURLrequest else {
        return super.loadrequest(request)
    }

    if let url = request.URL,host = url.host {
        if (host == "staging.example.com") {
            mutablerequest.SETVALue("secret-value",forhttpHeaderField: "secret-header")
        }
    }


    return super.loadrequest(mutablerequest)
}

这捕获了初始的html请求,它按预期工作.但是,由于该页面在同一服务器上加载了图像,样式表和脚本,因此它们不会通过loadrequest方法而被拒绝,因为它们的请求缺少此必需的请求标头.

要求:
它必须与iOS 8上的WKWebView一起使用.

解决方法

使用当前的API是不可能的 – 没有必要处理WKWebView发出的所有请求.您可以使用UIWebView custom url protocol(WKWebView不支持它)并将标头添加到特定服务器的所有请求中作为替代.

大佬总结

以上是大佬教程为你收集整理的ios – 向WKWebView中的所有传出请求添加请求标头全部内容,希望文章能够帮你解决ios – 向WKWebView中的所有传出请求添加请求标头所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。