php - 带有 Symfony 开发服务器的 Alamofire 没有有效的 ssl
问题描述
在使用 symphony 开发与我用 PHP 编写的后端通信的应用程序时,我想将我的应用程序连接到 Symfony 的本地开发服务器......我使用 Alamofire 进行 HTTP 请求。但是本地开发服务器没有有效的 SSL 证书,因为它是自签名的。我已经尝试使用自定义会话和管理器为我的 Mac IP 设置“证书忽略”,但这无论如何都不起作用。这是我得到的错误:
Session was invalidated without error, so it was likely deinitialized unexpectedly. Be sure to retain a reference to your Session for the duration of your requests.
这是代码:
let manager = ServerTrustManager(evaluators: ["192.168.2.9": DisabledEvaluator()])
let session = Session(serverTrustManager: manager)
session.request("https://192.168.2.9:8000/api/tables/1", method: .get)
.responseDecodable(of: Table.self){response in
...
}
这是什么样的错误,我能做什么?
我对 Alamofire 很陌生,如果我能解决这个问题会很高兴!!!
解决方案
Session
您提供的错误消息包括解决方案:至少在请求的整个生命周期内维护对您创建的引用。这通常是通过使用单例来完成的。在开发中,您可以简单地Session
在响应处理程序中捕获:
.responseDecodable(of: Table.self) { response in
// Handle response
_ = session
}
这是一个快速而肮脏的技巧,你不应该长时间使用它,如果你不将捕获的引用用于任何事情,它可能会与自动引用计数发生冲突,但它应该可以帮助你入门。
推荐阅读
- gspread - gspread 可以创建/操作图表吗?
- python - 关于在 Apache Beam for python 中过滤返回值和预期返回类型的问题
- python - 识别列表中没有匹配词的句子
- floating-point - MIPS:浮点数
- sql - Microsoft SQL Server - 获取最新的价值记录
- php - 返回 Json_Encode 内容并以 HTML 显示
- python - Python OpenCV Lane Detector“无法解压不可迭代的numpy.uint8对象”错误
- python - 根据唯一 ID 将数据从 1 个数据集复制到另一个数据集
- c++ - 在优化代码中查找我的课程副本的位置有什么好的技术?
- sql - Maximo:使用 SQL 查询模拟工作流分配