IdFTP.List方法在有的网格下可以用,有的网络下报错,是何原因?
我写了一个从FTP服务器上下载视频文件到本地播放的程序,在我公司的网络调试的好好的,去了客户的网络环境(WIFI)就不能下载,跟踪了一下发现是IdFTP1.List(TS);报错,错误提示如下
command not understood.
但是在Windows的文件管理器里是可以打开FTP服务器,可以看到文件,也可以把文件手工拷下来。
然后我换了用我的手机4G做热点WIFI,电脑连上去就可以下载,又换了客户的有线网络也是可以下载,就是客户的WIFI不行,客户的网管也说不清楚是在网络的什么地方做了设置,哪位知道这是什么原因?
开发环境是Delphi7,标准的Indy控件,没做过更新升级,简代后的代码示例如下:
procedure TForm1.Button1Click(Sender: TObject);
var
TS: TStrings;
begin
IdFTP1.Host := '122.231.166.106';
IdFTP1.Port := 21;
IdFTP1.Username := 'sp';
IdFTP1.Password := '';
IdFTP1.Connect; 可以连接
idFTP1.ChangeDir('sp'); 也可以改变目录
TS := TStringList.Create;
IdFTP1.List(TS); 报错command not understood.
Memo1.Lines.Assign(TS);
TS.Free;
end;