【问题标题】:How to HTTPS/POST on iOS in latest Delphi using native calls?如何在最新的 Delphi 中使用本机调用在 iOS 上进行 HTTPS/POST?
【发布时间】:2013-05-12 21:44:40
【问题描述】:

最新版本的 Delphi XE4 允许构建 iOS 应用程序。新闻组上有一些关于使用原生 iOS 库进行 HTTPS/发布以避免 OpenSSL 库和 Indy 10 问题的讨论。使用原生库执行 HTTP 发布的推荐方法是什么? (在我的示例中,JSON 文档上传和响应。)

【问题讨论】:

  • 你找到答案了吗?我这里也有问题。我在其他环境中看到 Indy 10 正在为不再受支持的 SSLv1 和 SSLv2 调用 OpenSSL,在这些环境中注释掉这些调用的 Indy 代码似乎可以解决问题,但感觉就像是 hack。

标签: delphi delphi-xe4


【解决方案1】:

我想通了……

背景: Indy 是 XE4 中用于 web 服务调用的“本机”代码,它依赖于 OpenSSL。在大多数情况下,OpenSSL 通过动态库(在 Windows 中为 DLL)链接到。 iOS 不支持动态库,因此一旦将代码编译成二进制文件并发送到 iOS 设备,OpenSSL 调用就会失败,因为没有后备库。解决方案是将 OpenSSL 编译到您的项目中。您可以通过下载 OpenSSL 源代码并将其添加到您的项目中来做到这一点,或者从其他地方获取静态库并将它们添加到您的项目中。我在这里找到了静态库: http://indy.fulgan.com/SSL/OpenSSLStaticLibs.7z 那是印地镜子之一,所以希望它应该没问题。您需要将这两个文件放在您的项目了解的地方,然后将 IdSSLOpenSSLHeaders_Static 添加到您的使用中。现在,您的编译代码将包含 OpenSSL 代码,您的问题应该得到解决。

【讨论】:

    猜你喜欢
    • 2012-03-05
    • 1970-01-01
    • 2017-05-03
    • 2019-08-13
    • 1970-01-01
    • 2021-04-24
    • 1970-01-01
    • 1970-01-01
    • 2019-05-18
    相关资源
    最近更新 更多