Indy - FTP fazer funcionar em server FTP linux |
Top Previous Next |
|
Você tem tido problemas com o componente TidFTP do Indy 10? Ele trava quando você conecta num FTP server instalado no Windows 98? Ou na Internet? Seus problemas se acabaram!
Basta fazer 2 alterações no seus fontes:
Primeiro, no componente coloque a propriedade Passive para TRUE. O default é FALSE. Segundo, se você utiliza o método LIST, modifique-o alterando o parâmetro MASK (2º) para vazio.
Se era assim:
IdFTP1.List(L, '*.txt', False);
Mude para:
IdFTP1.List(L, '', False);
E voalá! Agora está funcionando 100%. No caso do método List, se você precisa "filtrar" os arquivos, utilize um filtro na variável TStringList de retorno ao invés de usar o mask.
Observação Lembre-se que cada servidor retorna os dados dos arquivos diferentes caso você queira detalhes como tamanho, data e hora dos arquivos (terceiro parametro do método List = True)
Veja como os servidores retornam os detalhes:
Servidor: Microsoft FTP Service
04-16-07 09:55AM 3256 EXEC.DELPHI 04-16-07 09:55AM 6 flag.txt 04-11-07 10:34AM <DIR> Market 04-16-07 09:55AM 206 servidores.txt 04-11-07 10:34AM <DIR> Suporte 04-11-07 10:33AM 245809 x.jpg
Servidor: GuildFTPd FTP Server (c) 1997-2002
drwxrw-rw- 1 root root 0 Jan 15 15:20 WINDOWS -rwxrw-rw- 1 root root 12701 Jan 15 15:43 NETLOG.TXT -rwxrw-rw- 1 root root 112 Jul 9 2002 CONFIG.SYS -rwxrw-rw- 1 root root 46819 Apr 13 14:34 SCANDISK.LOG drwxrw-rw- 1 root root 0 Mar 7 11:11 AU drwxrw-rw- 1 root root 0 Jan 15 15:20 Arquivos de programas
Servidor: Pure-FTPd [TLS] - Site da Market
drwxr-xr-x 3 marketb marketb 4096 Apr 16 10:20 . drwxr-xr-x 3 marketb marketb 4096 Apr 16 10:20 .. -rw------- 1 marketb marketb 7 Apr 16 10:20 .ftpquota -rw-r--r-- 1 marketb marketb 5850 Apr 16 10:20 adm.men drwxrwxrwx 3 marketb marketb 4096 Apr 11 13:40 palm |