德尔福:idHttp+SSL

2024-05-01

请解释一下如何使用 SSL (https://) 从服务器下载文件。我在互联网上没有找到合适的答案。

每个人都说 TIdSSLIOHandlerSocket,但我只有 TIdSSLIOHandlerSocketOpenSSL。 如果我使用 TIdSSLIOHandlerSocketOpenSSL,则会出现错误“无法加载 SSL 库”。 有人说它需要一个图书馆,但大多数人甚至没有提到它。我需要使用这里的库吗http://www.indyproject.org/sockets/SSL.EN.aspx http://www.indyproject.org/sockets/SSL.EN.aspx ?

我的程序文件夹中有这些 DLL。根据:http://edn.embarcadero.com/article/31279 http://edn.embarcadero.com/article/31279“在运行时,Indy 尝试加载 libeay32.dll 和 ssleay32.dll。”我不知道 Indy 尝试从哪里加载 DDL -> 我有一个错误:“无法加载 SSL 库。”

procedure TForm1.FormCreate(Sender: TObject);
    var  UpdateMemoryStream:tmemorystream;
    begin
    try
    UpdateMemoryStream:=TMemoryStream.Create;
                try
                idhttp2.Get('https://example.com/list.rar',UpdateMemoryStream); //I have: Exception class EIdOSSLCouldNotLoadSSLLibrary with message 'Could not load SSL library.'
                except
                    on E : Exception do 
                    begin showmessage('Error: '+E.Message); 
                    end;
                end;
    UpdateMemoryStream.SaveToFile('d:\1.rar');
    finally
    UpdateMemoryStream.Free;
    end;
    end;

为什么我会出现这个错误? 我有德尔福2010。


要使用 Indy 的 OpenSSL 类,您需要ssleay32.dll and libeay32.dll。从您尝试执行的 Indy 代码中的异常来源来看,这一点可能应该是显而易见的。

这些库是从问题中提到的 Indy 页面链接到的。如果法律允许您这样做,您可以将它们与您的应用程序一起分发。将它们放在 DLL 所在的任何位置(通常是您的应用程序目录)。

TIdSSLIOHandlerSocketOpenSSL 是抽象 TIdSSLIOHandlerSocket 类的特定于 OpenSSL 的后代。如果您使用其他 SSL 库而不是 OpenSSL,则您将使用不同的后代类。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

德尔福:idHttp+SSL 的相关文章

  • 在 SQLite 数据库中存储日期时间值的最佳方式(Delphi)

    我将把日期时间值存储在 SQLite 数据库中 使用 Delphi 和 DISqlite 库 数据库的本质是它永远不需要在计算机或系统之间传输 因此互操作性不是一个限制 相反 我的重点是阅读速度 日期时间字段将被索引 我将对其进行大量搜索
  • Delphi DataSnap REST 服务器从 TStream 返回 JSON 数组,而不是二进制

    我有一个与 Android 客户端通信的 REST 服务器 我将它从 XE3 ish 升级到 Berlin 其中一个服务器方法返回一个包含 jpeg 的 TStream 并且工作得很好 很高兴将图像作为二进制图像返回 升级到 Berlin
  • 如何将 JSON 字符串转换为图像?

    我有一个将图像转换为 JSON 数组的应用程序 并将其保存到 blob 字段中 function getImage String var memorystream TMemoryStream jsonArray TJSONArray beg
  • Delphi中的抽象类

    我正在使用一个具有许多抽象类的组件套件 现在我想应用多态性 但在创建对象时收到错误抽象类 即使我不需要 我是否应该重写所有虚拟方法 有什么解决方法或解决方案吗 为了创建类的实例 您需要重写所有声明为虚拟抽象的方法 即使您不使用它们 如果您确
  • fsockopen() 和 SSL 出错,“无法启用加密”

    我正在尝试连接到 Nominet EPP 测试台 但收到 无法启用加密 的消息 这似乎是一个罕见的错误 没有记录的解决方案或原因 用行 socket fsockopen ssl testbed epp nominet org uk 700
  • 如何追踪“地址 00000000”的访问违规

    我知道如何创建 map 文件来在错误消息包含实际地址时跟踪访问冲突错误 但是如果错误消息说怎么办 Access violation at address 00000000 Read of address 00000000 我从哪里开始寻找这
  • 在 Delphi 2009 上安装最新版本的 Indy 10 [重复]

    这个问题在这里已经有答案了 是否有更新 Delphi 2009 中的 Indy 10 组件的分步指南 我读过正在卸载线程 https stackoverflow com questions 486210 what is the proper
  • 在TImageViewer中,如何获取用户点击图片的位置?

    在TImageViewer控件中 用户可以缩放或平移图片 我的问题是 当用户点击图片时 如何获取用户在图片上的点击位置 尤其是用户可以对图片进行放大 缩小或平移之后 如何获取对应的图片点击位置呢 As shown below How to
  • Elastic Beanstalk 添加多个 ssl 证书

    我有一个 Docker Django api 应用程序 可以从多个域 abc xyx com 或 def lmn com 调用 我已从 Elastic beanstalk 中的配置控制台成功添加了 abc xyz com 的 ssl 证书
  • Delphi 5 的哈希表实现 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 您知道 Delphi 5 的良好且免费的哈希表实现吗 我需要在哈希表中组织大量数据 并且我有点担心在网
  • 在Delphi 7中,为什么我可以给const赋值?

    我将一些 Delphi 代码从一个项目复制到另一个项目 发现它在新项目中无法编译 但在旧项目中可以编译 代码看起来像这样 procedure TForm1 CalculateGP const Price money 0 begin Pric
  • 如何将域添加到 aws 上的现有 SSL 证书

    我有一个与 Amazon Web Services 上的负载均衡器关联的 SSL 证书 我想在该证书上有一个额外的域 我的问题是 是否可以向 aws 上现有的 ssl 证书添加额外的域 我发现您可以在创建证书时添加其他名称 但我不知道如何使
  • TColorProperty德尔福柏林10.1.2?

    我正在尝试将组件从 Delphi 7 转换为 Delphi Berlin 平面组件 https sourceforge net projects flatstyle https sourceforge net projects flatst
  • Delphi 流畅的界面

    使用上有什么优点和缺点流畅的界面 http en wikipedia org wiki Fluent interface在德尔福 流畅的界面应该会增加可读性 但我对此有点怀疑one包含很多链式方法的长 LOC 是否存在编译器问题 是否存在任
  • Delphi:写入后代类中私有祖先的字段

    我需要修复第三方组件 该组件的类具有私有变量 该变量由其后代主动使用 TThirdPartyComponentBase class private FSomeVar Integer public end TThirdPartyCompone
  • 如何在flutter中绕过SSL证书验证?

    如何在flutter中绕过SSL证书验证 错误 握手异常 客户端中的握手错误 操作系统错误 CERTIFICATE VERIFY FAILED 自签名证书 handshake cc 345 您需要配置 HttpService 以使用自签名
  • 如何在 iOS 上固定证书的公钥

    在提高我们正在开发的 iOS 应用程序的安全性时 我们发现需要对服务器的 SSL 证书 全部或部分 进行 PIN 操作以防止中间人攻击 尽管有多种方法可以做到这一点 但当您搜索此内容时 我只找到了固定整个证书的示例 这种做法会带来一个问题
  • Apache 2.4.9 在启用 ssl 模块并设置 ssl 证书后失败

    Apache 在尝试设置 ssl 证书后抛出以下错误 ssl emerg pid 30907 AH02572 Failed to configure at least one certificate and key for localhos
  • 通过套接字发送动态数组(在记录内)?

    我正在尝试直接使用 SendBuf 将记录从服务器传输到客户端 但是 该记录有一个动态数组的成员 并且我在某处 在 SOF 中 读到 发送记录时 成员必须是静态的 固定长度 但问题是 我无法确定如何我会 将来 发送许多论点 我怎么解决这个问
  • 设置 verify_certs=False 但 elasticsearch.Elasticsearch 因证书验证失败而引发 SSL 错误

    self host KibanaProxy 自我端口 443 self user 测试 self password 测试 我需要禁止证书验证 使用选项时它与curl一起使用 k在命令行上 但是 在使用 Elasticsearch pytho

随机推荐

  • 未绑定表单字段的验证

    我有一个表单 其中使用 property path gt false 添加了额外的未绑定字段 我想在这个领域进行简单的验证 我发现很多答案建议使用类似的东西 builder gt addValidator 但我发现在 symfony 2 1
  • Juno - Java 构建路径 - 项目无法读取或不是有效的 ZIP 文件

    我收到此错误 说明 资源路径 位置类型 所需库的存档 项目 Home 中的 src Program java 无法读取或无效 ZIP 文件主页 构建路径 构建路径问题 是什么原因导致此错误以及如何修复它 请按照以下导航 Right Clic
  • 为什么 Map.of 不允许空键和空值?

    在 Java 9 中 引入了新的工厂方法List Set and Map接口 这些方法允许使用一行中的值快速实例化 Map 对象 现在 如果我们考虑 Map
  • 我应该如何安全地存储密码并在 chrome 扩展中使用 http auth

    我正在制作一个 chrome 扩展 需要从安全服务器获取 xml 文件 我目前正在使用 XMLHttpRequest 来调用服务器 https username email protected cdn cgi l email protect
  • 如何在执行路由方法之前运行“中间件”函数?

    假设我有一个主干路由器 例如 routes homepage catalog id catalogPage catalog id products id2 productPage homepage gt doStuff catalogPag
  • 我需要 package-lock.json 和 package.json 吗?

    将我的 NPM 更新到最新版本 从 3 X 到 5 2 0 并运行后npm install在现有项目上 我得到一个自动创建的package lock json file 我可以告诉package lock json给我一个精确的依赖树 而不
  • C# 2013 无法创建默认证书。发布中止

    当我尝试运行使用 C 在 Visual Studio 2013 中构建的 exe 时 它 将在我编译它的计算机上运行得很好 当我尝试在不同的计算机上运行该程序时 我收到异常错误 所以我尝试发布该程序 但收到此错误 无法创建默认证书 发布中止
  • laravel 验证 required_with 和 required_with_all 之间有什么区别

    我已经尝试过看看https laravel com docs 5 4 validation https laravel com docs 5 4 validation但我仍然不明白两者之间有什么区别 全部必需 and 必需 无 任何人都可以
  • 如何在Windows窗体代码后面编写方法的单元测试

    我有想要测试的方法 但收到此错误 在创建窗口句柄之前无法在控件上调用 Invoke 或 BeginInvoke 现在我还有一个列表框 正在我正在测试的函数中填充 因此 当我将方法分离到另一个类时 这是一个问题 我理解这一点 因为表单需要首先
  • 如何找到某个命令的目录?

    我知道 当您使用 shell 时 唯一可以使用的命令是可以在 PATH 上设置的某些目录中找到的命令 即使我不知道如何查看 PATH 变量上的目录 这是另一个可以回答的好问题 我想知道的是 我来到 shell 并写道 lshw 我想知道 s
  • 形状为 (N,1) 的数组与形状为 (N) 的数组有什么区别?以及两者之间如何转换?

    来自 MATLAB 背景的 Python 新手 我有一个 1 列数组 我想将该列移到 3 列数组的第一列中 如果我有 MATLAB 背景 我会这样做 import numpy as np A np zeros 150 3 three col
  • 重新创建 svn 存储库

    在一次重大服务器故障之后 svn 存储库被破坏 我的工作版本是最新版本 从我的工作版本重新创建 svn 存储库的方法是什么 在新服务器上安装 svn 并尝试我的工作副本之后 svn switch NEW SVN PATH 我收到一个错误 R
  • 在 Idle shell 中导入模块

    我正在尝试学习 python 但在导入模块时遇到问题 我有一个 pyc 文件 我正在尝试将其导入到名为 dfa pyc 的空闲 shell 中 我将该文件放在名为 xyz 的文件夹中 我使用以下命令导航到该文件夹 os chdir User
  • uWSGI 说:“ImportError:没有名为 wsgi 的模块”

    当uWSGI启动时 它会写入 ImportError No module named wsgi 我的 uwsgi xml
  • 数据网格中的主键始终为零

    我们正在VS2012中使用实体框架 DB First 开发WPF应用程序 我们在数据网格视图中遇到问题 我们从数据源中拖动了一个数据网格 这创建了一个绑定到该特定表的数据网格 该表有两列 一列是 TransporterID 它是 PK 是自
  • 在SSL模式下使用apache kafka

    我正在尝试在 SSL 1 way 模式下设置 kafka 我已经阅读了官方文档并成功生成了证书 我将记下两种不同情况的行为 此设置只有一名经纪人和一名动物园管理员 案例 1 经纪人间通信 明文 我的相关条目server properties
  • 将自定义值存储在 EKEvent(iPhone 日历)中

    我的应用程序与设备日历集成 当新项目添加到我的应用程序时 我们会为此项目创建一个日历条目 如果项目被编辑 我们需要更新日历项目 我现在所做的是将 GUID 放入 EKEvent Notes 中 但显然这对用户是可见的 因此我们添加文本 请勿
  • 使用 Selenium 的 Chrome 驱动程序错误:无法发现打开的页面

    运行 Selenium 测试时 我收到与 Chrome 驱动程序相关的错误 错误消息是 无法发现打开的页面 直到昨晚 Selenium 测试都运行良好 问题似乎是在前一天重新启动服务器后开始的 我无法在本地机器上重现此错误 从服务器上的命令
  • Mercurial hook 的操作类似于“changegroup”,但仅在推送时?

    我们已经构建了一个变更集传播机制 但它依赖于捆绑和解除捆绑新变更集 如果我们要使用changegroup钩子 那么它会导致循环行为 因为钩子是运行的在拉 推或解绑期间 http mercurial selenic com wiki Hook
  • 德尔福:idHttp+SSL

    请解释一下如何使用 SSL https 从服务器下载文件 我在互联网上没有找到合适的答案 每个人都说 TIdSSLIOHandlerSocket 但我只有 TIdSSLIOHandlerSocketOpenSSL 如果我使用 TIdSSLI