Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi FTP mit (Client)Socket, Problem mit LIST (https://www.delphipraxis.net/28259-ftp-mit-client-socket-problem-mit-list.html)

snock 22. Aug 2004 09:03


FTP mit (Client)Socket, Problem mit LIST
 
Hallo liebe Leute.

Wenn ich auf einen FTP Server verbinde zZ auf nen Localen FTP-Server, und ich den Befehl "LIST -aL" oder "LIST /" ausführen lasse kommt immer folgendes zurück:
"425 Can't build data connection: Connection refused."

Woran liegt das? Muss ich noch was spezieles senden das ich den "LIST" befehl ausführen kann?


Vielen Dank im Vorraus


Mit freundlichen Grüßen
snock

SirThornberry 22. Aug 2004 09:08

Re: FTP mit (Client)Socket, Problem mit LIST
 
hast du eine Firewall aktiv? versuchs einfach mal mit einer passiven Verbindung

snock 22. Aug 2004 09:19

Re: FTP mit (Client)Socket, Problem mit LIST
 
Nein habe keine Firewall aktiv, mit SmartFTP gehts ja.
Und ich kann ja auf den Server vebinden und Befehle ausführen.

Das hier sende ich:
Delphi-Quellcode:
procedure Tftpwin.ftpConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
Socket.SendText('USER '+username+#13#10);
Socket.SendText('PASS '+password+#13#10);
//Socket.SendText('SYST'+#13#10);
//Socket.SendText('REST 100'+#13#10);
//Socket.SendText('REST 0'+#13#10);
//Socket.SendText('PWD'+#13#10);
//Socket.SendText('TYPE A'+#13#10);
Socket.SendText('PASV'+#13#10);
Socket.SendText('LIST -aL'+#13#10);
//Socket.SendText('NOOP'+#13#10); }
end;
SmartFTP lässt die Befehle (in Reihenfolge) ausführen:
USER
PASS
SYST
REST 100
REST 0
PWD
TYPE A
PASV
LIST -aL
NOOP

- auch wenn ich sie so ausführen lasse kommt das mit "425 Can't build data connection: Connection refused."



Vielen Dnak im Vorraus


mfg snock

SirThornberry 22. Aug 2004 09:23

Re: FTP mit (Client)Socket, Problem mit LIST
 
ganz einfach. (warum ich da nicht gleich drauf gekommen bin) Wenn du dir mal die Indy-FTP-Komponente ansiehst wirdst du sehen das es bei FTP 2 Ports gibts. Die Dataconnection und dann noch die zum befehle austauschen. Da du mit Clientsocket nur ein Port hast kann logicher Weise kein DatenVerbindung aufgebaut werden. du müsstest also auf dem zweiten Port noch ein Clientsocket haben

snock 22. Aug 2004 09:46

Re: FTP mit (Client)Socket, Problem mit LIST
 
Wie meinst du das? Das ich 2 Verbidnungen brauche? Einmal für die BEfehele und ein anderes mal für die DATA?

Das glaube ich kaum.

SirThornberry 22. Aug 2004 09:48

Re: FTP mit (Client)Socket, Problem mit LIST
 
tut mir leider, aber es ist so. Das defaultPort ist 21 und das DefaultDataPort ist 20 somit sind es 2 ports.

snock 22. Aug 2004 09:51

Re: FTP mit (Client)Socket, Problem mit LIST
 
wie bekomme ich dann die zugangsdaten vom server wie ich da drauf verbinden muss um die Verbindung zu bekommen?

aoder meinst du das so 2 TClientSocket und in beiden Steht drin
Socket.SendTEXT('USER '+username+#13#10);
Socket.SendTEXT('PASS '+password+#13#10);


oder versteh ich dich falsch?

SirThornberry 22. Aug 2004 09:52

Re: FTP mit (Client)Socket, Problem mit LIST
 
was genau über welchen port läuft weiß ich nicht, sollte aber in der Protokolspezifikation stehen


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz