C#中对于FTP的相关操作

1.FTP

答:FTPFile Transfer Protocol, FTP,文件传输协议,属于网络协议组的应用层。

长连接:Client方与Server方先建立通讯连接,连接建立后不断开,然后再进行报文发送和接受,ftp即采用此种连接方式。

短连接:Client方与Server方每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。如网页上采取这种连接方式。

2.使用FetWebRequest类和对应的FtpWebResponse类可以实现与FTP服务器通信。HttpWebRequest/Response可以用于上传/下载简单的文件,而FtpWebRequest提供了浏览目录、创建目录、删除文件等更多的功能。 FtpWebRequest的附加功能

成    员

描    述

Abort

在执行异步操作时才能使用。这个命令会终止当前操作

Binary

布尔值。用于判断数据是作为二进制数据还是作为

文本进行传输。如果传输的是二进制文件,

就设置为True,否则设置为False

Method

对于FtpWebRequest,这个方法非常重要,它定义了

要执行的操作。WebRequestMethod.Ftp定义了可以使用的值

Passive

布尔值。用于判断客户端与服务器如何通信。如果设

置为True,服务器就不会启动与客户端的通信,而是

等待客户端启动通信过程。如果客户机上的防火墙不

允许服务器建立连接,就应当使用这个模式

3.WebRequestMethods.Ftp

答:FtpWebRequest发出的实际请求是由Method属性指定的,这个字符串属性可以设置成为FTP服务器认可的值,但通常使用WebRequestMethods.Ftp结构中的值:

字    段

描    述

AppendFile

给一个现存的文件添加内容

DeleteFile

从服务器上删除文件(但必须具有权限)

DownloadFile

从FTP服务器上获取文件

GetDateTimeStamp

获得文件最近修改的日期和时间

GetFileSize

获得FTP服务器上文件的大小

ListDirectory

获得FTP服务器上某个目录内的文件名和目录名。

返回的数据是一个文件列表,每个文件放在一行上

(用CRLF字符换行)。这个方法不能判断返回的条目是目录还是文件

ListDirectoryDetails

获得FTP服务器上某个目录内文件和目录的信息。

这个方法返回每个元素的具体信息,例如属性、权限、最后修改时间和大小等。

与ListDirectory方法一样,每个文件(或目录)的信息放在一行上

MakeDirectory

在服务器上创建一个目录

PrintWorkingDirectory

获得FTP服务器上的当前路径

RemoveDirectory

从服务器中删除一个目录(必须具有合适的权限)

UploadFile

上传一个文件到FTP服务器

UploadFileWithUniqueName

类似于UploadFile,但这个方法能确保新的文件使

用唯一的名称。在允许用户上传文件时,这个功能

很重要。如果不希望发生命名冲突或不介意文件名

(例如只处理文件内容而不保存文件内容),

就应使用这个方法

4. FtpWebRequest WebRequest存在与命名空间System.NET中,使用FTP WebRequest类实现FTP功能的一般过程:

1、创建一个FTP WebRequest对象,指向FTP服务器的URI

ftpWebRequest = (FtpWebRequest)WebRequest.Create(rootUrl);

2、设置FTP的执行方法

ftpWebRequest.Method = WebRequestMethods.Ftp.XXXXX

3、给FTP WebRequest对象设置属性

ftpWebRequest.UseBinary

4、设置登录验证

ftpWebRequest.Credentials= new NetworkCredential(userName, password);

5、执行请求

 ftpWebResponse = (FtpWebResponse)ftpWebRequest.GetResponse();

6、接受相应流

reader = new StreamReader(ftpWebResponse.GetResponseStream(), Encoding.UTF8);

7、如果没有打开的流,则关闭FTP请求

猜你喜欢

转载自blog.csdn.net/bosbear/article/details/7279115