一、访问的网页是https,但是没有证书或者证书失效
如果是 http请求,只要再plist中设置App Transport Security Setting -> Allow Arbitrary Loads。
如果是这种情况,可以让h5不进行证书校验,需要实现WKwebview下面的代理方法:
public func webView(_ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
if let trust = challenge.protectionSpace.serverTrust {
completionHandler(.useCredential, URLCredential(trust: trust))
} else {
completionHandler(.performDefaultHandling, nil)
}
}
还可以根据不同的条件进行校验。.performDefaultHandling用来表示按照网络也默认的原则处理,如果是https就进行证书校验
网友评论