填坑记(第三方)

1. 使用自签名证书,https请求时,发现SSL 花样报错
swift语言中
1.1 第三方网络请求:Alamofire

1.1.1 自定义EKWSessionManager继承于SessionManager,在Debug模式下添加需要添加信任的host, 如:www.jianshu.com, www.baidu.com

import UIKit
import Alamofire

class EKWSessionManager: SessionManager {
    
    open static let defaultManager: SessionManager = {
        
        #if DEBUG
            let configuration = URLSessionConfiguration.default            
            //设置需要信任的host
            let serverTrustPolicies: [String : ServerTrustPolicy] =  ["www.baidu.com": .disableEvaluation, "www.jianshu.com": .disableEvaluation]
            let sessionManager = SessionManager.init(configuration: configuration, serverTrustPolicyManager: ServerTrustPolicyManager.init(policies: serverTrustPolicies))
        #else
            let sessionManager = SessionManager.default
        #endif
        
        return sessionManager
    }()
}

1.1.2 接下来的网络请求都是基于EKWSessionManager. defaultManager

let sessionManager = EKWSessionManager.defaultManager
let dataRequest = sessionManager.request(url,
                                            method: method,
                                            parameters: paramenters,
                                            encoding: URLEncoding.default,
                                            headers: nil)

1.2 第三方图片加载:Kingfisher

在Debug模式下添加需要添加信任的host, 如:www.jianshu.com, www.baidu.com

class func serverTrustPolicy(){
        #if DEBUG
        let downloader = KingfisherManager.shared.downloader
        downloader.trustedHosts = ["www.jianshu.com", "www.baidu.com"]
        #else
        #endif
    }
OC语言中
1.3 使用OC语言,在Debug模式下添加绕过证书验证的方法
#ifdef DEBUG
@implementation NSURLRequest(DataController)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
{
    return YES;
}
@end
#endif
2. 使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值