如题,急,谢谢!

解决方案 »

  1.   

    FTP常用指令 1、USER <用户名> ;注:表示回车换行。 
    指定登录的用户名,在连接到FTP服务器后会收到一个以200开头的响应,这表示服务器已准备好,你可以用这个命令开始登录了,命令发出后会收到以230开头的响应表示用户已登录,或以331开头的响应表示需要密码。 2、PASS <密码> 
    当服务器响应331需要密码时,就用这个指令把密码发送到服务器。命令发出后会收到230响应表示已经登录请继续,或530响应表示无法登录。 3、PORT h1,h2,h3,h4,p1,p2 
    为数据连接指定一个IP地址和本地端口,h1—h4是Internet主机的IP地址,p1是本地端口的高位字节,p2是本地端口的低位字节。 4、APPE <文件名> 
    让服务器准备接收一个文件并把这些数据附加到指定的文件中,如果指定的文件不存在就创建它。服务器会响应:125->数据连接已打开,传输启动;150->准备打开数据连接;226->关闭数据连接,操作已成功;250->已完成;421->服务不可用;425->无法打开数据连接;450、532、550、553->无法执行。 5、CWD <路径> 
    改变当前目录为指定的目录(像DOS的CD命令)。服务器响应:250->已完成;421或550->无法执行。 6、DELE <文件名> 
    删除服务器上的指定文件。服务器响应:250->已完成;421、450、550->无法执行。 7、LIST [<路径>] 
    列出指定路径上的文件名(像DOS的DIR命令)。服务器响应同APPE。 8、MKD <路径> 
    在服务器上创建一个目录。服务器响应:257->已创建;421、550->无法执行。 9、PWD ;返回当前目录名称。 10、QUIT ;注销用户,终止连接。 11、RETR <文件名> ;下载文件,服务器响应同APPE。 12、RMD <路径> ;删除一个目录,服务器响应同DELE。 13、RNFR <文件名> 
    更名一个文件的前一半进程,文件名是服务器上的一个有效文件名。服务器响应:350->等待进一步的信息;421、450、550->无法执行。 14、RNTO <文件名> 
    更名一个文件的后一半进程,文件名为新的文件名。服务器响应:250->已完成;421、532、553->无法执行。 15、STOR <文件名> ;让服务器接收来自数据连接的文件,响应同APPE。
      

  2.   


    s += _T("LIST\r\n");
    Send((LPCTSTR) s, s.GetLength(), 0);//发送然后你把结果Receive过来就行了
      

  3.   

    不好意思,可能是我没说清楚,我是说在vc中如何写程序向ftp服务器发送指令,并得到结果?好象wininet中有个FtpCommand函数,但为什么我编译时报没有这个函数呢,头文件和lib我都加了,象什么InternetConnect函数都可以调用了,就是这个函数不行,为什么呀?
      

  4.   

    不是你就直接用Socket来发送好了
    用Socket发送一个命令
    FTP服务器接收过来后就把结果给传回来
    你只要用Receive函数就可以接收过来了
      

  5.   

    小小,你说的我有点看不懂,Send是什么函数呀,是那个类里的,我找不到呀!
      

  6.   

    用socket会麻烦一些,不知道你对socket熟不熟悉. 建议你还是用FtpCommand, 命令一楼都提供给你了,你收到response后自己解析一下就行了
      

  7.   

    send list command to ftp server,rfc959, ftp example
    http://www.codeguru.com/Cpp/I-N/internet/ftp/article.php/c3439/
      

  8.   

    最后还是用FtpCommand实现了,但在winn2000下必须安装最新的sdk才行。