Im using the idFTP component in Indy 9, to transfer files to/from
FTP-servers.
It all works fine.
However, now i need to send files on a regular basis to an FTP-server not
supporting the STOR command.
The FTP-server only supports the old PUT command. This command is not
implemented in Indy 9.
Does anybody now how to use the PUT command from within Indy 9?
Have anyone implemented support for the PUT command? -if so, how?
All ideas highly valued.
Kind Regards
LC
> However, now i need to send files on a regular basis to an
> FTP-server not supporting the STOR command.
All servers are required by the FTP spec to support the STOR command:
http://www.ietf.org/rfc/rfc0959.txt?number=959
5. DECLARATIVE SPECIFICATIONS
5.1. MINIMUM IMPLEMENTATION
In order to make FTP workable without needless error messages,
the following minimum implementation is required for all
servers:
TYPE - ASCII Non-print
MODE - Stream
STRUCTURE - File, Record
COMMANDS - USER, QUIT, PORT,
TYPE, MODE, STRU,
for the default values
RETR, STOR,
NOOP.
The default values for transfer parameters are:
TYPE - ASCII Non-print
MODE - Stream
STRU - File
> The FTP-server only supports the old PUT command.
There never was a PUT command in the FTP protocol. Third-party FTP clients
that implement their own PUT command for users to enter actually send either
STOR or STOU when issuing commands to the server.
> This command is not implemented in Indy 9.
That is because there is no PUT command in the FTP protocol to begin with.
Gambit
However, im still having trouble transfering the file.
When i use the native FTP commandline utility program in WinXP, i have no
problems transfering the file. (using the PUT command) But when i use Indy,
or any other FTP program like WS_FTP, im not able to transfer the file.
(WS_FTP comes up with '501 unknown extention in database file name')
Does anybody now how the FTP commandline program in WinXP uses the STOR
command when transfering files?
Does anybody now of an FTP monitor program, for monitoring the FTP command
trafic?
(In order to see the difference between the FTP commandline program and e.g.
Indy and WS_FTP)
Any replies appreciated.
LC
"Remy Lebeau (TeamB)" <no....@no.spam.com> wrote in message
news:42fb91a7$1...@newsgroups.borland.com...
Use the (free) Ethereal packet-sniffer (to hide all the other packets,
use "ftp" as the filter string).
Ciaran
> to hide all the other packets, use "ftp" as the filter string
FYI, that only applies after a capture has been taken. You cannot filter
traffic by FTP only while the capture is still progressing.
Gambit
> However, im still having trouble transfering the file.
Then you are likely not using it properly to begin with. What does your
actual code look like?
> When i use the native FTP commandline utility program in WinXP,
> i have no problems transfering the file. (using the PUT command)
Again, third-party client programs, such as Microsoft's, may implement a PUT
command from the user's perspective, but when actually sending the command
to the server, there is no PUT command issued. STOR or STOU are used
instead, as per the FTP spec. You can verify that for yourself by using a
packet sniffer, such as Ethereal (http://www.ethereal.com), to see what the
program is actually sending over the socket connection.
> But when i use Indy, or any other FTP program like WS_FTP, im
> not able to transfer the file.
The fact that non-Indy implementations can also have problems suggests that
the problem is not in Indy specifically. The server itself is likely broken
to begin with.
WS_FTP comes up with '501 unknown extention in database file name'
There is no way to diagnose that without seeing the actual commands that
WS_FTP is sending. It could also be that the server is trying to validate
the filename that you are specifying, and the server does not recognize the
file extension so it rejects the transfer.
> Does anybody now how the FTP commandline program in WinXP
> uses the STOR command when transfering files?
Why don't you install a packet sniffer and look for yourself?
Gambit