WKWebview拦截导致http请求body为空解决方案

wkwebview正常是不允许拦截的,但是官方文档中给出了私有api:

registerSchemeForCustomProtocol
unregisterSchemeForCustomProtocol

 具体的拦截方式,推荐看下此链接:

https://www.jianshu.com/p/14e5156edc07

拦截后出现的问题1:

.此拦截方式是私有api,上线可能被拒,

解决方案:

可以通过混淆的方式绕过审核,具体混淆方式可以自己去尝试下。

拦截后出现的问题2:.

此拦截方式是针对全局的拦截,如果app中还有其他的webview,那么其他的webview也会被拦截,出现http请求body为空的现象(因为注册了私有拦截api)那么就需要处理其中的关系:

解决方案:

1)拦截处理做在一个webview中,viewWillAppear时registerSchemeForCustomProtocol,viewWillDisAppear时unregisterSchemeForCustomProtocol 

2)拦截处理wkwebview后,+ (BOOL)canInitWithRequest:(NSURLRequest *)request中根据每个webview设置的customUserAgent标识处理放行,或只拦截指定标识的webview

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值