Search the Community
Showing results for tags 'ftp'.
Found 4 results
I have a customer whose FTP Server is not correctly configured. They will not change it, which is very frustrating. When my FTPS Client issues the PASV command, the server responds with its local IP address and a port number. It should of course respond with the public IP, if the FTP Server was configured correctly. The TSslFtpClient tries to connect to the local IP that is sent by the server, but obviously fails, as the local IP is hidden behind a NAT router. I noticed that the FileZilla Client gets round this problem by trying the local IP and when it fails it then tries the public IP that it originally connected to. Command: PASV Response: 227 Entering Passive Mode (192,168,0,173,113,168). Status: Server sent passive reply with unroutable address. Using server address instead. My Delphi skills are awful (I code in C++ Builder), so I can't attempt to replicate what FileZilla does. I have made two small changes to my copy of OverbyteIcsFtpCli.pas. I apologise for the poor code, but can anyone tell me if this is OK to do to or if there is a better way. This code is added to DoGetAsync and DoPutAppendAsync if (FDnsResult <> TargetIP) and (FDnsResult.Length > 0) then DataSocketGetInit(IntToStr(TargetPort), FDnsResult) else DataSocketGetInit(IntToStr(TargetPort), TargetIP); The original code was just DataSocketGetInit(IntToStr(TargetPort), TargetIP); Thanks, Richard
CosticaM posted a topic in ICS - Internet Component SuiteHi, I am looking to create a console application to get a file from a specific ftp location. During research I found the best match OverbyteIcsConFtp sample from ICS_VCL-8.50-Tokyo\Samples\Delphi\FtpDemos Changed the project to have correct info and after connecting to ftp I am getting an error 530 I have tried another sample and I am getting same error. What am I missing? TIA, Costica
I am trying to create a FTP server for the first time using TIDFTPServer. I have dropped a TFTPServer onto a form and changed properties only as follows: Active = True Bindings = < item IP = '**.**.***.***' Port = 21 end> ReuseSocket = rsTrue If I set the IP address as the external ip address for the server I get an EIDCouldNotBindSocket error and it advises that "Address and port are already in use" when I try to start it. I don't get this problem if I change the IP address to the server's local address (192.168.0.12). Should the IP address always be set to the local IP? I've noticed that IDFTP has an ExternalP property and also ServerHOST property. There is help on the ExternalIP property, but no on the ServerHOST property. Would I be right in assuming these properties are used for external connections to the FTP server rather than anything in the FTPServer's settings? With respect to the ExternalIP address this also seems to require setting of the DataPort. I have tried connecting setting ExternalIP to the relevant IP address and DataPort to 21. Host is blank. When I try to connect I get an error message telling me a Host is required. I've tried setting Host to the external IP and also ServerHost, but either I get Host required error or time out.
drazde posted a topic in ICS - Internet Component SuiteHi, I use TSslFtpClient component for connecting to a server via SSL (TSL connections), and also TSslContext and TSslAvlSessionCache. I can connect and trasfer some file, but after a while (7/8 seconds, and about 145 files) the session (not the connection) closes, so I close also the connection and restart it. I would know if is it possible avoid expire the session and do a reconnect to the server. I have to transfer also thousands of file at a time Thanks in advance PS: if I try to copy many file with the OverbyteIcsXferTst1 example, that use TIcsFtpMulti, It give me "FTP Session Closed - Connection reset by peer (#10054)" after only having transferred 45 files