gpt4 book ai didi

delphi - 如何在 Delphi 中使用 Indy 10 和 OpenSSL 通过 HTTPS 下载/上传文件?

转载 作者:太空宇宙 更新时间:2023-11-03 13:37:02 26 4
gpt4 key购买 nike

我希望使用 Indy 下载文件。我的问题连接到 SSL。请帮助我使用 HTTPS 或 SFTP 执行此操作。

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
IdFTP1.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(IdFTP1);
IdFTP1.UseTLS:=utUseRequireTLS;
IdFTP1.DataPortProtection:=ftpdpsPrivate;
IdFTP1.Host := '127.0.0.1';
IdFTP1.Username := 'ftp';
IdFTP1.Password := '123';
IdFTP1.Port:=21;
IdSSLIOHandlerSocketOpenSSL1.StartSSL;
try
IdFTP1.Connect;
IdFTP1.Disconnect;
finally
IdFTP1.Free;
end;
end;

最佳答案

您做对了(除了您释放了不是在同一代码中创建的组件这一事实)。 HTTPS 也是如此。

IdHTTP1.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create();
IdHTTP1.Get('https://...');

请注意,您需要 OpenSSL 库 https://indy.fulgan.com/ZIP/SSL.zip或者你想要的任何版本 https://indy.fulgan.com/SSL/

SFTP 和 FTPS 也有区别。Indy 的 IdFTP 支持 SSL (FTPS)。它不能与 SFTP(使用 SSH 的 FTP)一起使用。如果你想使用 SFTP,你必须使用替代的商业组件 https://www.eldos.com/sbb/delphi-sftp.php

如果显示一个错误,您应该指定任何错误。可能只是缺少 SSL 库。如果您不知道如何下载/上传文件,这里有一些方法

IdFTP1.Put (upload)
IdFTP1.Get (download)

IdHTTP1.Put/Post (upload)
IdHTTP1.Get (download)

您需要来自“IdMultipartFormData”单元的 TIdMultiPartFormDataStream 用于 HTTP Post 上传文件

关于delphi - 如何在 Delphi 中使用 Indy 10 和 OpenSSL 通过 HTTPS 下载/上传文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36710606/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com