Alamofire ssl 错误的证书 Swift
Posted
技术标签:
【中文标题】Alamofire ssl 错误的证书 Swift【英文标题】:Alamofire ssl wrong certificates Swift 【发布时间】:2020-05-19 21:00:03 【问题描述】:我正在尝试连接到使用无效证书的https://wrong.host.badssl.com/。
我在 Viewcontroller.swift 中的代码:
let manager = ServerTrustManager(evaluators: ["wrong.host.badssl.com:443": DisabledEvaluator()])
let session = Session(serverTrustManager: manager)
session.request("https://wrong.host.badssl.com").response response in
debugPrint(response)
回复是:
[Request]: GET https://wrong.host.badssl.com
[Request Body]:
None
[Response]:
nil
[Response Body]:
None
[Data]: None
[Network Duration]: None
[Serialization Duration]: 0.0s
[Result]: failure(Alamofire.AFError.sessionDeinitialized)
我做错了什么?
马蒂亚斯干杯
【问题讨论】:
【参考方案1】:如果您看到here,它清楚地解释了错误sessionDeinitialized
的详细信息
`Session` which issued the `Request` was deinitialized, most likely because its reference went out of scope. case sessionDeinitialized
基本上,您需要保留对 Session 的引用,直到您的请求完成,否则它将被取消初始化并取消您的请求。
您可以通过 singleton 或将相同的实例注入到所有用户中,以使引用保持活动状态。你的选择。
【讨论】:
以上是关于Alamofire ssl 错误的证书 Swift的主要内容,如果未能解决你的问题,请参考以下文章
使用 Swift 4 和 Alamofire 获取客户端证书以用于 Https 调用身份验证
使用 alamofire 通过 iOS 应用程序连接 Windows SSL 服务器