如何在delphi XE中通过FTP下载文件  
官方Delphi 学习QQ群: 682628230(三千人)\n
频道

如何在delphi XE中通过FTP下载文件


uses
 ... IdFTP, IdFTPCommon ...
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  IdFTP1.Host := 'test.rebex.net';
  IdFTP1.Port := 21;
  IdFTP1.ConnectTimeout := 5000;
  IdFTP1.Username := 'demo';
  IdFTP1.Password := 'password';
  IdFTP1.TransferType := IdFTPCommon.TIdFTPTransferType.ftBinary;
  IdFTP1.Passive := True;
 
  try
    IdFTP1.Connect;
    try
      IdFTP1.Get('/pub/example/pop3-browser.png', ExtractFilePath(ParamStr(0)) + 'pop3-browser.png', True, False);
    finally
      IdFTP1.Disconnect;
    end;
    ShowMessage('Downloaded!');
  except
    ShowMessage('Error while downloading!');
  end;
end;
如果FTP服务器仅允许匿名连接,请使用:

IdFTP1.Username:='匿名';
//IdFTP1.Password:='password';

使用TIdURI在Delphi XE中解析或拆分FTP URL
uses
 ... IdFTP, IdFTPCommon, IdURI ...
 
procedure TForm1.btnDownloadFileClick(Sender: TObject);
var
  URL: string;
  Uri: TIdURI;
begin
  URL := Trim(edURL.Text);
  Uri := TIdURI.Create(URL);
 
  try
    IdFTP1.Host := Uri.Host;
 
    if Uri.Port <> '' then
    IdFTP1.Port := StrToInt(Uri.Port) else
    IdFTP1.Port := 21;
 
    IdFTP1.ConnectTimeout := 5000;
 
    IdFTP1.Username := 'anonymous';
 
    if Uri.Username <> '' then
    begin
      IdFTP1.Username := Uri.Username;
      IdFTP1.Password := Uri.Password;
    end;
 
    IdFTP1.TransferType := IdFTPCommon.TIdFTPTransferType.ftBinary;
    IdFTP1.Passive := True;
 
    try
      IdFTP1.Connect;
      try
        IdFTP1.Get(Uri.Path + Uri.Document, ExtractFilePath(ParamStr(0)) + Uri.Document, True, False);
      finally
        IdFTP1.Disconnect;
      end;
      ShowMessage('Downloaded!');
    except
      ShowMessage('Error while downloading!');
    end;
  finally
    Uri.Free;
  end;
end;
适用于username:password和匿名FTP登录名:

ftp:// demo:password@test.rebex.net/pub/example/pop3-browser.png
ftp://speedtest.tele2.net/1MB.zip
有关TIdURI的更多详细信息,请参见:

http://www.e-iter.net/knowledge/indy9/007878.html

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.039530038833618 seconds