美文网首页
Alamofire + Moya 忽略 HTTPS 证书验证

Alamofire + Moya 忽略 HTTPS 证书验证

作者: 假若我年少有为不自卑 | 来源:发表于2023-11-05 11:46 被阅读0次
class YSNetManager: MoyaProvider <YSNetTargetType> {
    
    static let sharedInstance: YSNetManager = YSNetManager()
    
    init() {    
        // 过滤证书,指定域名
        // DefaultTrustEvaluator 默认策略,只有合法证书才能通过验证
        // RevocationTrustEvaluator 对注销证书做的一种额外设置
        // PinnedCertificatesTrustEvaluator 证书验证模式,代表客户端会将服务器返回的证书和本地保存的证书中的 所有内容 全部进行校验,如果正确,才继续执行。
        // PublicKeysTrustEvaluator 公钥验证模式,代表客户端会将服务器返回的证书和本地保存的证书中的
        // DisabledTrustEvalutor 该选项下验证一直都是通过的,无条件信任。
        // CompositeTrustEvalutor 自定义验证,需要返回一个布尔类型的结果
        let serverTrustManager = ServerTrustManager(allHostsMustBeEvaluated: false,
                                                    evaluators: ["xx.xx.xx": DisabledTrustEvaluator()])
        
        let configuration = URLSessionConfiguration.default
        configuration.headers = .default
        
        let session = Session(configuration: configuration,
                              startRequestsImmediately: false,
                              serverTrustManager: serverTrustManager)
        
        // 设置最大请求数量
        session.session.configuration.httpMaximumConnectionsPerHost = 10
        // 开启 MPTCP,允许在一条 TCP 链路中建立多个子通道,因此 MPTCP 可以让用户在切换网络环境的时候,不需要重新建立 TCP 链接;
        // none :不启用,默认选项
        // handover :优先考虑的是链接的可靠性。只有在 Wi-Fi 信号不好的时候,才会走 Cellular
        // interactive :优先考虑的是链接的低延时。系统会看 Wi-Fi 快还是 Cellular 快。如果 Cellular 比 Wi-Fi 快,哪怕此时 Wi-Fi 信号很好,系统也会把流量切到 Cellular 链路
        // aggregate :在这种模式下,Wi-Fi 和 Cellular 会同时起作用。如果 Wi-Fi 是 1G 带宽,Cellular 也是 1G 带宽,那么你的设备就能享受 2G 带宽(只能在开发者模式下使用)
        session.session.configuration.multipathServiceType = .handover
        super.init(session: session,
                   plugins: [YSNetPlugin()])   
    }
}

但是一般情况下不建议将 HTTPS 证书验证关闭

相关文章

网友评论

      本文标题:Alamofire + Moya 忽略 HTTPS 证书验证

      本文链接:https://www.haomeiwen.com/subject/komzidtx.html