How To Retrieve and Change FTP File Attributes by Using WinInet Functions.






3.50/5 (12 votes)
Mar 31, 2006

62898

3527
An article about using the FTPCommand function to send direct commands to the FTP server.

Description
There are several good articles on CodeProject containing different implementations of FTP Clients by using WinInet
functions. But since WinInet
FTP is limited by itself (provides only basic implementation of FTP protocol) these implementations also inherit these limitations.
For example, you cannot retrieve the file attributes or owner information and cannot change them by using WinInet
functions.
Implementation
Fortunately, starting with Internet Explorer 5.0 and later, you can use the FtpCommand
function to send direct commands to the FTP Server and parse results by yourself.
In this example, I send “LIST
” command to the FTP Server and use “D. J. Bernstein, http://cr.yp.to/ftpparse.html” ftpparser to analyze results. I have modified the ftpparser a little for this article.
In this sample, I use only the “LIST
” command. You can send any allowed command to the FTP server. For example, to change file permissions, you can send “SITE CHMOD ...
”, to retrieve single file attributes/permissions you can use “STAT ...
”, etc. Refer to RFC 959 to get more information about all possible FTP commands.
History
- 31st March, 2006: Initial post