Avatar billede spif Nybegynder
18. april 2003 - 03:51 Der er 7 kommentarer og
1 løsning

Visning af filer fra FTPserver

Jeg har lavet en klasse som gør følgende:
1. forbinder og logger ind på en FTP server
2. viser filerne i en givet mappe på FTP serveren
3. afbryder forbindelsen

Klassen virker fint på de fleste FTP-servere(a) jeg har prøvet, men den virker ikke for en bestemt FTP-server(b) (den jeg skal bruge).

Til at udføre FPT funktionaliteten i min klasse benytter jeg Jakartas: commons-net-1.0.0.jar.

For at få vist filerne bruger jeg følgende kodestump

  FTPClient client = new FTPClient();
  //forbind, log ind, skift katalog.
  FTPFile files[] = client.listFiles();   

Her bliver files = null når jeg prøver FTP-serveren(b), men virker fint, nå jeg prøver de andre FTP-servere(a).

Hva kan det skyldes? - Er det opsætningen af rettigheder til FTP-serveren eller hva?
Avatar billede arne_v Ekspert
18. april 2003 - 08:43 #1
Har du prøvet at connecte til den FTP server med Windows/Unix
command line FTP klient og fyre en dir/ls af og se hvad den viser ?
Avatar billede arne_v Ekspert
18. april 2003 - 08:43 #2
Og du er sikker på at login er gået godt ?
Avatar billede arne_v Ekspert
18. april 2003 - 08:44 #3
Er der nogen firewall imellem ?

(jeg tænker på om der skal skiftes til PASV mode)
Avatar billede spif Nybegynder
18. april 2003 - 14:26 #4
Jeg er helt sikker på, at login er gået godt, for jeg kan godt få lov til at skifte directories. Der er også firewall imellem (hvad kan jeg gøre ved det?).

Men jeg kan ikke få lov til at connecte igennem en windows command line FTP - den godkender ikke login eller password, som ellers virker fint i et normalt FTP-program (FlashFXP) - hva skyldes det mon?
Avatar billede arne_v Ekspert
18. april 2003 - 14:36 #5
Jeg gætter på at commons-net FTPclient og FlashFXP kan
finde ud af at snakke gennem firewall, men at Windows
command-line FTO ikke kan.

Jeg gætter på at listFiles kræver PASV mode.

Jeg prøver lige at kigge lidt på commons-net dokumentationen
med hensyn til PASV.
Avatar billede arne_v Ekspert
18. april 2003 - 14:43 #6
Jeg har læst lidt.

Hvis din FTPClient er udenfor og skal snakke med en FTP-server
indenfor firewall, så prøv med:

client.enterLocalActiveMode();

Hvis din FTPClient er indenfor og skal snakke med en FTP-server
udenfor firewall, så prøv med:

client.enterLocalPassiveMode();
Avatar billede spif Nybegynder
18. april 2003 - 14:55 #7
Yes!
Var ikke lige klar over det med active og passive mode, men det virkede med
client.enterLocalActiveMode();
Tak for den hurtige respons tid.
Skriv lige et svar, så du kan få dine velfortjente point.
Avatar billede arne_v Ekspert
18. april 2003 - 15:17 #8
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester