Delphi/XE2 使用TIdHttp控件下载Https协议服务器文件[转]
2024-10-09 20:27:16
之前的一篇博文详细描述了使用TIdhttp控件下载http协议的文件,在我项目的使用过程中发现对于下载Https协议中的文件与Http协议的文件不同,毕竟Https在HTTP协议基础上增加了SSL协议。接下来我们就来看看如何下载Https协议的服务器文件。
HTTPS既然是增加了SSL协议,那么我们就处理SSL协议这关就可以了。
开发环境:XE2 + Indy10
Delphi控件:TIdhttp,IdSSLIOHandlerSocketOpenSSL(原生控件)
关键DLL:libeay32.dll,ssleay32.dll(非常重要,缺失会导致无法下载。)
其实关键的下载代码并没有太大的变化,重要的是需要IdSSLIOHandlerSocketOpenSSL来处理SSL。于是我们只需要在之前的代码中稍微修改一下即可:
uses IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL;
定义:
ssl: TIdSSLIOHandlerSocketOpenSSL;
创建:
ssl := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
IdHTTP := TIdHTTP.Create(nil);
IdHttp.IOHandler := ssl;
IdHttp.Request.BasicAuthentication:=True;
使用过程中不需要做任何操作。
释放:
FreeAndNil(ssl);
HTTP协议文件下载的源码:https://blog.csdn.net/yueyun889/article/details/80731572
转自:https://blog.csdn.net/yueyun889/article/details/80741677
最新文章
- ServletContext总结
- C# String.Format大全 去 decimal 后面的 0
- python在linux上的GUI无法弹出界面
- sqlite3 多线程和锁 ,优化插入速度及性能优化
- COJN 0483 800501求最大非空子矩阵
- kafka安装及Kafka-PHP扩展的使用
- Shell使用
- LDT自己定义启动模拟器
- Linux内核学习笔记-2.进程管理
- [原创].NET 分布式架构开发实战之四 构建从理想和实现之间的桥梁(前篇)
- selenium自动化过程中遇到的小问题(未完待续)
- C#中:函数访问级别对函数形参访问级别的约束
- 网上搜索到的 比较好的mysql查询语句练习题
- PHP过滤指定字符串,过滤危险字符
- [SDOI 2009]Elaxia的路线
- 观察者模式的python实现
- 三维计算机视觉 —— 中层次视觉 —— RCNN Family
- 剑指offer——python【第44题】翻转单词顺序
- ②NuPlayer播放框架之ALooper-AHandler-AMessage底层机制分析
- linq中last或者lastordefault不存在的问题