iOS swift HTTPS 9813错误解决记录

本文记录了在iOS环境下使用Swift 3.0和Alamofire 4.0时遇到的HTTPS加载错误(kCFStreamErrorDomainSSL, -9813)的解决过程。通过配置info.plist和设置Alamofire请求的信任验证,以及处理WKWebView的HTTPS验证,成功实现了SSL数据接口访问和网页加载。此外,也提到了测试版解决方案可能在正式发布时存在的问题。" 110074098,10292976,机器学习驱动的股票预测:Python SVM与DTW实证分析,"['机器学习', 'Python编程', '股票分析', '数据预测模型', '时间序列预测']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明:只是测试版解决了,即未发布的。后面发布时遇到的问题,会再次记录。


环境是:

Alamofire 4.0 + swift 3.0 + WKWebView + xcode 8.1(8B62) + OS X EI Capitan 10.11.6


解决时间:

2017-08-15


针对问题:

(NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813))


主要解决功能:

1、是alamofire swift3.0 设置授信ssl访问数据接口,返回json;

2、是web加载https 网页的;

3、加载http&&加载HTTPS都启用


第一种(alamofire swift3.0 设置授信ssl访问数据接口,返回json):

1、配置info.plist


swift 版的配置

2、(Alamofire 4.0)在Alamofire.request 之前设置验证通过


swift 3.0版代码(Alamofire 4.0)

let manager = SessionManager.default

manager.delegate.sessionDidReceiveChallenge = { session, challenge in

//认证服务器证书

if challenge.protectionSpace.authenticationMethod

== NSURLAuthenticationMethodServerTrust {

print("服务端证书认证!")

return (URLSession.AuthChallengeDisposition.useCredential,

URLCredential(trust: challenge.protectionSpace.serverTrust!))

}

//认证客户端证书

else if challenge.protectionSpace.authenticationMethod

== NSURLAuthenticationMethodClientCertificate {

print("客户端证书认证!")

return (.useCredential, URLCredential(trust: challenge.protectionSpace.serverTrust!));

}

// 其它情况(不接受认证)

else {

print("其它情况(不接受认证)")

return (.cancelAuthenticationChallenge, nil)

}

}


第二种,网页加载:

1、delete是WKNavigationDelegate

webViews.navigationDelegate = weakSelf!

2、https验证的控制方法是


swift 3.0版代码 WKWebView

- End -


喜欢请点亮小红心,热爱请关注,打赏请随意^_^。

您留下的每一个足迹都是我前进的动力。

谢谢您的到来,感谢您的阅读。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值