当前位置: 首页 > news >正文

Delphi 12 基于 Indy 的 WebServer 的 https 实现的问题

概要

使用 Delphi 开发一个自带 HTTP Server 的 WebServer 程序或者 WebService 服务器端程序,是基于 Indy 的 TIdHTTPServer 来实现的。如何为它增加 https 的功能?之前我有博客文章写如何实现:

Delphi 开发的基于 Indy 的 WebBroker 或者 WebService 服务器支持 https_delphi webservices ssl-CSDN博客

还有另外一篇:

使用 Indy WEB Server 支持 https_brokerbridge indy-CSDN博客

问题来了

当时是使用 Delphi 10.3 / 10.4 来测试的。

现在我使用 Delphi 12 社区版重新编译当时写这个博客时的程序,编译运行后,客户端或者浏览器不能正确访问新编译的服务器程序了。

问题的原因和解决

我之前的测试程序,作为一个服务器端程序,是工作在 8080 端口上的。在新版的 Delphi 12 当作,需要增加:

FServer.OnQuerySSLPort := OnQuerySSLPort;//这里的 FServer 是:TIdHTTPWebBrokerBridge
//也就是一个 TIdHTTPServer

为它增加一个事件绑定的方法。该方法的代码如下:

procedure TForm1.OnQuerySSLPort(APort: TIdPort; var AUseSSL: Boolean);
beginAUseSSL := True;APort := 8080;
end;

也就是要为它指定端口号,而不仅仅是指定它的 http 的工作端口号。

FServer.DefaultPort := 8080;

而以前我的代码仅仅只有 FServer.DefaultPort := 8080; 因此在 Delphi 12 重新编译后就不能正常工作了。

http://www.dtcms.com/a/349171.html

相关文章:

  • HiRAG:用分层知识图解决复杂推理问题
  • ruoyi框架角色分配用户
  • imx6ull-驱动开发篇38——Linux INPUT 子系统
  • leetcode_189 轮转数组
  • 什么嵌入式接入大模型:第二篇基于 STM32 ESP32 的社会服务助手
  • AI重塑跨境电商:选品成功率提升53%+物流效率加快34%,多语种运营成破局关键
  • String的intern方法
  • 数据库服务优化设置
  • nano命令使用方法
  • 备考NCRE三级信息安全技术 --- L1 信息安全保障概述
  • 自编 C# 颜色命名和色彩显示,使用 DataGridView 展示颜色命名、RGB值
  • 推进数据成熟度旅程的 3 个步骤
  • 基于 MATLAB 的信号处理实战:滤波、傅里叶变换与频谱分析
  • 什么是IP代理
  • 智慧农业病虫害监测误报率↓82%!陌讯多模态融合算法实战解析
  • 基于微信小程序校园微店源码
  • 电力电子simulink练习10:反激Flyback电路搭建
  • [leetcode] - 不定长滑动窗口
  • 深度学习卷积神经网络项目实战
  • 电容触控:自电容 vs 互电容
  • Rust 登堂 生命周期(一)
  • 内网后渗透攻击--域控制器安全(1)
  • 控制启动过程
  • 【typenum】 25 去除无符号整数前导零的特性(private.rs片段)
  • 重塑招聘战场:AI得贤招聘官AI面试智能体6.3如何用“精准”重新定义人才筛选?
  • C++(String):
  • 2025 年 8 月 22 日科技前沿:技术突破与范式跃迁的交汇点
  • golang1 专栏导学
  • 算法题(190):食物链(带权并查集)
  • leetcode 162 寻找峰值