Ftp客户端编程

关于Ftp协议;
Ftp命令;
Ftp返回值;
Ftp编程结构;
关于Ftp协议:
关于Ftp协议,我想都大概了解,所以不做说明了。以下是RPC959的介绍:
The objectives of FTP are 1) to promote sharing of files (computer
programs and/or data), 2) to encourage indirect or implicit (via
programs) use of remote computers, 3) to shield a user from
variations in file storage systems among hosts, and 4) to transfer
data reliably and efficiently. FTP, though usable directly by a user
at a terminal, is designed mainly for use by programs.
Ftp命令:
也许很多人都用过Ftp命令,但是可能也有许多人和我曾经犯一样的错误,错认了Ftp命令。我原来在win2000的控制台下打上Ftp,然后进入了Ftp提示符下,接着我用上了许多符有“windows”特色的命令,如“dir”,“cd”,看到它按照自己的想法在运行,以为自己便掌握了Ftp命令了。我非常有信心的打开编程工具,写一个socket,然后向ftp服务器连接了。当然,服务器返回了信息提示是连接成功了,我便开始发送刚才用过的一些命令,可返回的信息大多都是“500 'xx': command not understood”。
 最后,我发送了help命令,返回的结果让我惊异不已,里面的命令大多我都没用过。原来这些才是真正的Ftp命令。Windows里面的只是Ftp的客户端工具,里面的命令根本不是Ftp命令。网上有许多资料里也是把windows里Ftp客户端的命令和Ftp命令混在一起。真正的Ftp命令应参考RFC959文档中的说明(其实一些Ftp工具如CuteFtp里也把命令显示出来)。其中经常被使用的命令包括如下:
ABOR:中止;
CWD 目录名:改变现有目录;
CDUP:返回到父级目录;
REIN:重新初始化服务器状态;
QUIT:退出;
PORT:设置数据传输端口;
PASV:转为被动方式
TYPE A/I:传输方式;
MODE S/B/C:传输方式?;
RETR 文件名:下载文件;
STOR 文件名:上传文件;
APPEND 追加本地文件到服务器;
RNFR:修改原文件名(修改之前的文件名)
RNTO:修改后的文件名;
DELE 文件名:删除文件;
RMD 目录夹:删除文件夹;
MKD 目录:新建目录;
PWD 当前工作目录;
LIST:列出该目录中的项目;
SYST:查看服务器操作系统信息;
STAT查看Ftp参数状态;

时间: 2024-10-01 10:10:31

Ftp客户端编程的相关文章

ftp客户端主动模式代码(c语言)

问题描述 ftp客户端主动模式代码(c语言) 跪求大神指点ftp主动模式如何用c编写,知道客户端和服务器端传输流程,但是写不出代码 解决方案 http://www.codeproject.com/Articles/8667/FTP-Client-Class 解决方案二: 只是缺少练习,找本unix网络编程的书看看,东西不多,只涉及到socket和多线程的就行了.

Linux操作系统中的FTP客户端

一.简介: 在大多发行版都有打包,请到各大发行版的ftp列表中得到,或者在发行版的安装盘中也能得到.lftp是一个命令行式的ftp客户端.对中文支持较好.如果您在linux 的text模式下,要安装zhcon或者cce之类的. 安装: 1.RPM包管理的系统,请到 http://freshrpms.net http;//rpmfind.net 上查找lftp的最新包,可以用 #rpm -ivh name.rpm #rpm -Uvh name.rpm 这是升级之用 2.源码包安装举例:lftp-3

在Windows系统和Eclipse IDE集成环境下使用Java进行HBase客户端编程

本文以HBase 0.90.2为例,介绍如何在Windows系统,Eclipse IDE集成环境下,使用Java语言,进行HBase客户端编程,包含建立表.删除表.插入记录.删除记录.各种方式下的查询操作等. 1. 准备工作 1.下载后安装jdk包(这里使用的是jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008): 2.下载eclipse,解压到本地(这里使用的是eclipse-java-helios-SR2-win32): 3.下载HBase包,解压

Web客户端编程

Web最初采用的"服务器-浏览器"方案可提供交互式内容,但这种交互能力完全由服务器提供,为服务器和因特网带来了不小的负担.服务器一般为客户浏览器产生静态网页,由后者简单地解释并显示出来.基本HTML语言提供了简单的数据收集机制:文字输入框.复选框.单选钮.列表以及下拉列表等,另外还有一个按钮,只能由程序规定重新设置表单中的数据,以便回传给服务器.用户提交的信息通过所有Web服务器均能支持的"通用网关接口"(CGI)回传到服务器.包含在提交数据中的文字指示CGI该如何

ASP.NET AJAX客户端编程之旅(七)——剩下的问题(完结篇)

关于Loading... 相信做Ajax应用的朋友没有不使用loading的,不然网络延迟会让用户体验非常差,而且用户会不知道系统正在工作.那么当使用ASP.NET AJAX客户端编程时,怎么做loading呢? 我们先来分析一下loading应该什么时候显示,什么时候终止.一个典型的异步交互过程如下: 1.用户发出请求 2.网络延迟 3.服务器端处理 4.服务器返回数据 5.网络延迟 6.客户端呈现数据 在这个交互过程中,loading应该在第一步后出现,而在第六步结束后才消失.结合前面的知识

ASP.NET AJAX客户端编程之旅(五)

ASP.NET AJAX客户端编程之旅(五)--以组件的思想开发Ajax应用:行为.绑定及xml-script 初识行为组件 行为组件一词中的"行为"是从单词Behavior直译过来的.但是我个人认为,就其作用来说,应该叫"属性赋予组件"更合适一点.因为行为组件实际的作用是:为某一控件赋予某种属性.例如ClickBehavior是为某个控件添加"具有单击事件"这个属性,而OpacityBehavior则是为控件添加"透明显示"

ASP.NET AJAX客户端编程之旅(四)

ASP.NET AJAX客户端编程之旅(四)--以组件的思想开发Ajax应用:客户端组件初探 以组件的思想重新审视Ajax客户端开发 在进入主题之前,我想和大家一起再来看一下本文章系列第一篇中的一个Demo:ASPNETAJAXTest.我现在将其中的客户端代码重新贴在这里. Default.aspx: 1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs&q

ASP.NET AJAX客户端编程之旅(三)

ASP.NET AJAX客户端编程之旅(三)--让JavaScript和C#无障碍沟通:数据类型自动转换&序列化 通过前两篇文章,我们知道使用了ASP.NET AJAX框架后,在JavaScript中调用后台WebService方法非常方便,几乎可以看做是"直接调用".那么,这里引出了一个问题:调用方法就牵扯到参数的传递,而JavaScript和C#毕竟是两种不同的语言,数据类型怎么沟通?简单型数据类型还好说,如果我们需要的参数是个复杂类型呢?如分层架构中经常用到实体类做参数,

ASP.NET AJAX客户端编程之旅(二)——知其所以然

如何在客户端直接调用WebService中的方法? 1.Web.config中需要配置好运行ASP.NET AJAX框架相应的配置项,当然,建立一个ASP.NET AJAX Enabled Web Site项目时,Web.config已经配置好了. 2.想让某个WebService可以被JS调用,需要做一下几步: I.在这个WebService文件里用"using System.Web.Script.Services;"引入这个命名空间. II.在这个类的上面添加"[Scri