利于Wininet创建一个FTP客户端的步骤
Wininet是Win32关于网络的API,MFC也有对于Wininet的封装,可以利用这组API实现FTP和HTTP通信。
Wininet API的头文件:Wininet。下面是Wininet建立FTP客户端的一般步骤。第一步:初始话Wininet,实际上就是设置一些关于是否使用代理,访问方式等的参数。第二步:建立一个FTP链接。第三步:操作ftp服务器上的文件。第四步:关闭各种句柄。
作用 | 函数原型 | 说明 |
初始Wininet函数 |
HINTERNET InternetOpen( LPCTSTR lpszAgent, DWORD dwAccessType, LPCTSTR lpszProxyName, LPCTSTR lpszProxyBypass, DWORD dwFlags ); |
lpszAgent表示程序的名称,不是对话框的名称。dwAccessType表示链接方式:直接连接和使用代理。dwFlags表示链接选项,可以是,INTERNET_FLAG_ASYNC, INTERNET_FLAG_FROM_CACHE, INTERNET_FLAG_OFFLINE的组合 |
创建Internet链接 |
HINTERNET InternetConnect( HINTERNET hInternet, LPCTSTR lpszServerName, INTERNET_PORT nServerPort, LPCTSTR lpszUsername, LPCTSTR lpszPassword, DWORD dwService, DWORD dwFlags, DWORD_PTR dwContext ); |
hInternet是InternetOpen返回的句柄, dwFlags表示链接的类型。 INTERNET_SERVICE_FTP:FTP链接; INTERNET_SERVICE_HTTP:HTTP链接;
|
上传文件 |
BOOL FtpPutFile( HINTERNET hConnect, LPCTSTR lpszLocalFile, LPCTSTR lpszNewRemoteFile, DWORD dwFlags, DWORD_PTR dwContext ); |
|
下载文件 |
BOOL FtpGetFile( HINTERNET hConnect, LPCTSTR lpszRemoteFile, LPCTSTR lpszNewFile, BOOL fFailIfExists, DWORD dwFlagsAndAttributes, DWORD dwFlags, DWORD_PTR dwContext ); |
|
删除文件 |
BOOL FtpDeleteFile( HINTERNET hConnect, LPCTSTR lpszFileName ); |
|
删除文件 |
BOOL FtpRenameFile( HINTERNET hConnect, LPCTSTR lpszExisting, LPCTSTR lpszNew ); |
|
创建文件夹 |
BOOL FtpCreateDirectory(HINTERNET hConnect, LPCTSTR lpszDirectory ); |
|
删除文件夹 |
BOOL FtpRemoveDirectory( HINTERNET hConnect, LPCTSTR lpszDirectory ); |