【问题标题】:Does Alamofire work over HTTPS network?Alamofire 是否在 HTTPS 网络上工作?
【发布时间】:2016-05-19 06:11:49
【问题描述】:

正如标题所说。 Alamofire 是一个用 Swift 编写的 HTTP 网络库。但我想知道它是否可以通过 https 网络工作?

还有没有其他库可以快速访问 api 并解析 json 文件?

【问题讨论】:

标签: swift http https alamofire


【解决方案1】:

正如官方 Alamofire document 中所述,您也可以使用 HTTPS 协议,但请记住按照 here 所述启用 NSAppTransportSecurity(堆栈溢出答案)

P.S.:现在有3.4.0版本,SSL连接只有一个问题,可以找here

详情: 正如 CouchDeveloper 在这篇文章中评论的那样,您必须记住,使用此配置您实际上绕过了“应用程序传输安全性”,因此您可以通过 NSExceptionDomains 控制此字典中的白/黑域列表,如 Apple pages 中所述或在这个有用的讨论有关"Working with Apple’s App Transport Security" 的页面。本文档说明如何限制应用网络访问以处理应用安全设置。

【讨论】:

  • NSAllowsArbitraryLoads 设置为YES 时,您可以有效地禁用 安全的HTTPS 连接并允许不安全的 HTTP 连接。也就是说,您实际上绕过“应用程序传输安全”并忽略了 Apple 强迫我们开发人员对我们的用户隐私问题承担更多责任的可以理解的尝试。
  • 当您将此布尔值设置为 true 时,您还可以接受未签名的 SSL 证书,这在您必须使用许多不需要密钥的 https 服务器时很有用。取决于您希望如何限制访问。
  • 不,当您将此标志设置为 YES 时,您允许不安全的连接,其中密码和机密数据可以以纯文本形式发送。我不认为绕过安全检查是有用的——因此“假装”是安全的。 Web 服务最简单的设置是只允许 HTTPS 并提供一个证书,其根证书由知名的受信任 CA 颁发并使用最新的 TLS 实现。在这种情况下,iOS 开发人员受益于设备上的默认设置,该设置是安全的(尽可能),并且不需要任何额外的代码来实现这一点。
  • 我想你不明白这个问题:如果你不改变这个字典,很多不安全的 HTTPS 连接将无法使用,你的应用程序无法连接这些服务器。因此,您建议正确配置所有 https 服务器,以便解决所有世界不安全的系统。当然会很酷,我同意你的观点,但这是一个乌托邦。
  • 非常感谢您提供的所有信息
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-21
  • 2014-06-24
  • 1970-01-01
  • 1970-01-01
  • 2014-12-27
  • 1970-01-01
  • 2011-04-03
相关资源
最近更新 更多