|
> My understanding was the AS/400 interprets the client request at the server. > So somewhere in the AS/400, the client's "as typed request" is processed. That's not true. The "get" and "put" commands are part of the "human interface" of the FTP client. In fact, there are many FTP clients that don't use "put" or "get" Internet Explorer is one example... WS-FTP is another. When you type "get yourfile myfile" the FTP client interprets what you've typed. It determines that you want to retrieve a file called YOURFILE from the server, and save it as MYFILE locally. It then sends the commands PORT (or PASV) to the FTP server, followed by the RETR command in order to get the actual data. The server never sees the original "get" command. It has just occurred to me that if you don't believe Vern or Rob you probably won't believe me either. So, I'll back up what I say. The Windows FTP client has a "debugging mode" where it will print the commands that it sends to the server. Just type "debug" in the client, and it'll enable it. Here's a sample session: C:\>ftp as400.example.com Connected to as400.example.com. 220-QTCP at as400.example.com. 220 Connection will close if idle more than 5 minutes. User (as400.example.com:(none)): klemscot 331 Enter password. Password: 230 KLEMSCOT logged on. ftp> debug Debugging On . ftp> cd /home/klemscot ---> CWD /home/klemscot 250-NAMEFMT set to 1. 250 "/home/klemscot" is current directory. ftp> bin ---> TYPE I 200 Representation type is binary IMAGE. ftp> get myfile.txt ---> PORT 192,168,5,71,4,18 200 PORT subcommand request successful. ---> RETR myfile.txt 150 Retrieving file /home/klemscot/myfile.txt 250 File transfer completed successfully. ftp: 15 bytes received in 0.03Seconds 0.48Kbytes/sec. ftp> quit ---> QUIT 221 QUIT subcommand received. Note in the session above, when I typed "cd /home/klemscot" it actually sent "CWD /home/klemscot" to the server. When I typed "bin" it actually sent "type I" to the server. When I typed "get myfile.txt" it sent "PORT 192,168,5,71,4,18" followed by "RETR myfile.txt" to the server. > The reason I say that is the Windows client doesn't know that > "/qsys.lib/loyd.lib/me.file" is valid syntax. True, whatever you type as the "remote filename" on your "put" command gets sent verbatim to the FTP server as an argument to the STOR command. But, only the "remote filename" portion is the user's input, not the rest of the command line. > It may not be stored on the AS/400, but it translates a "put" into the > operation ID 7 and the "what to put" into the operational information. Actually, it translates "STOR" into ID 7, and puts the arguments to store (whatever they may be) into the operational information. There is no "put". (There is no spoon. The Matrix has you.) > I will likely follow Rob's logging examples until hopefully IBM offers a > mechanism to retrieve the verbatim input. You could run a network sniffer to see the exact data that the iSeries is receiving from your client, if you like. You could also write a simple proxy program that will see the exact data getting sent to your FTP server's command-channel, and you could create a log from that -- but that's MUCH more complex than simply writing an exit program -- and the logging probably won't be all that much better... you'll maybe get a bit more detail, but that's it.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.