zoukankan      html  css  js  c++  java
  • Delphi/XE2 使用TIdHttp控件下载Https协议服务器文件[转]

    之前的一篇博文详细描述了使用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

  • 相关阅读:
    【ybtoj】【Hash】回文子串
    Design Pattern:状态模式
    Design Pattern:装饰者模式
    Design Pattern:外观模式
    Design Pattern:适配器模式
    Design Pattern:模板方法模式
    Design Pattern:命令模式
    Design Pattern:观察者模式
    Design Pattern:复合模式
    Design Pattern:迭代器模式
  • 原文地址:https://www.cnblogs.com/railgunman/p/10287736.html
Copyright © 2011-2022 走看看