c#网络应用编程第07章 FTP应用编程.ppt
《c#网络应用编程第07章 FTP应用编程.ppt》由会员分享,可在线阅读,更多相关《c#网络应用编程第07章 FTP应用编程.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 1第第7 7章章 FTPFTP应用编程应用编程 7.1 FTP概述概述7.2 FTP规范范7.3 FTP编程相关程相关类7.4 FTP编程程举例例2 2第第7 7章章 FTPFTP应用编程(续)应用编程(续)本章教学目的本章教学目的通通过学学习,使学生能,使学生能够对FTP编程基程基础知知识及思路有个清晰的及思路有个清晰的认识。本章教学要求本章教学要求(1)掌握)掌握FTP工作原理、数据工作原理、数据传输方式方式(2)了解)了解FTP规范(命令及响范(命令及响应吗)(3)掌握两种文件)掌握两种文件传输模式下服模式下服务器与客器与客户端的工作流程。端的工作流程。(4)掌握)掌握FTP编程涉及
2、的相关程涉及的相关类及及FTP重要功能的重要功能的实现教学教学难点和重点点和重点两种文件两种文件传输模式下服模式下服务器与客器与客户端的工作流程、端的工作流程、FTP重要功能的重要功能的实现(如上(如上传和下和下载)3 37.1 FTP7.1 FTP概述概述FTP(File Transfer Protocol,文件,文件传输协议)是)是TCP/IP 协议组中的中的协议之一,是之一,是Internet传递文件最主要的方法。文件最主要的方法。FTP 的主要功能如下:的主要功能如下:1.提供文件的共享,包括程序文件和数据文件提供文件的共享,包括程序文件和数据文件;2.支持支持间接使用接使用远程程计算
3、机算机;3.使用使用户不因各不因各类主机文件存主机文件存储器系器系统的差异而受影响的差异而受影响;4.使用使用TCP提供可靠且有效的提供可靠且有效的传输。4 47.1 FTP7.1 FTP概述(续)概述(续)FTP应用用软件件举例例服服务器器举例:例:(1)IIS提供的提供的FTP服服务器器(2)Serv-U(3)其他)其他FTP服服务器器软件,例如件,例如Secure FTP Server、客客户端端举例:例:(1)IE浏览器(用法:器(用法:ftp:/.)(2)CuteFTP,例如,例如CuteFTP 7 Professional(3)FlashFXP(4)各)各类下下载软件(迅雷、件(迅
4、雷、FlashGet、电驴、BT)等)等 5 57.1.1 FTP7.1.1 FTP的工作原理的工作原理 FTP常用的的两种常用的的两种传输方式:方式:ASCII传输方式方式以以ASCII编码方式方式传输数据,一般用于数据,一般用于传输命令,或者不同命令,或者不同平台平台间的文本文件。的文本文件。二二进制数据制数据传输方式方式采用采用该方式方式进行数据行数据传输时,可以指定采用哪种,可以指定采用哪种编码,一,一般用于般用于传输具有原始格式的文件。具有原始格式的文件。6 67.1.2 FTP7.1.2 FTP的工作模式的工作模式通通过FTP传输文件,双方至少需要建立两个文件,双方至少需要建立两个
5、TCP连接接u一个称一个称为控制控制连接,用于接,用于传输FTP命令命令;u称称为数据数据连接,用于接,用于传输文件数据。文件数据。建立控制建立控制连接后,用接后,用户通通过客客户机机进程向服程向服务器器进程程发送送命令,服命令,服务器器执行命令,然后将行命令,然后将执行行结果返回到客果返回到客户端,端,7 77.1.2 FTP7.1.2 FTP的工作模式的工作模式1.用用户启启动FTP客客户端程序,通端程序,通过操作界面操作界面连接服接服务器并下器并下载文件文件时,客,客户端首先与服端首先与服务器的器的21端口建立控制端口建立控制连接接.2.客客户端提供用端提供用户名和密名和密码,经服服务器
6、器验证认为合法后,客合法后,客户端将自己端将自己监听的端口号告听的端口号告诉服服务器,服器,服务器再与客器再与客户端端建立数据建立数据连接。接。3.客客户端通端通过控制控制连接向服接向服务器器发送下送下载文件的命令文件的命令,服,服务器接收到命令后,若器接收到命令后,若执行成功,通行成功,通过控制控制连接向客接向客户端端发送响送响应码,并将,并将文件数据通文件数据通过数据数据连接接返回返回给客客户端,否端,否则仅返回响返回响应码。8 87.1.2 FTP7.1.2 FTP的工作模式的工作模式FTP常用的两种数据常用的两种数据传输方式:方式:ASCII传输方式和二方式和二进制制传输方式。方式。1
7、ASCII传输方式方式该方式以方式以ASCII编码方式方式传输数据,适用于数据,适用于传输仅包含英文的包含英文的命令和参数,或者在不同的平台命令和参数,或者在不同的平台间传输英文文本文件的英文文本文件的场合。合。在不同的平台在不同的平台间进行文件行文件传输时,FTP通常会自通常会自动地地调整文件整文件的内容,把文件解的内容,把文件解释成目成目标计算机存算机存储的文本文件的格式。的文本文件的格式。2二二进制制传输方式方式采用采用该方式方式进行数据行数据传输时,可以指定采用哪种,可以指定采用哪种编码传输命命令或文件数据。如果令或文件数据。如果传输的文件不是英文文本文件,或者的文件不是英文文本文件,
8、或者传输的命令参数中的命令参数中带有中文信息,有中文信息,则应该采用二采用二进制制传输方式。方式。9 97.1.3 7.1.3 文件传输模式文件传输模式FTP支持两种工作模式:支持两种工作模式:Port模式模式(主主动模式模式)该模式表示服模式表示服务器主器主动连接客接客户端,然后端,然后传输文件。在此模式下,文件。在此模式下,FTP客客户端先用一个端口端先用一个端口N(N1024)向服)向服务器的器的21号端口号端口发起控制起控制连接,接,连接成功后,再接成功后,再发出出PORT N+1命令告命令告诉服服务器自己器自己监听的端口号听的端口号为N+1。服。服务器接收到器接收到该命令命令后,用一
9、个新的数据端口(一般是后,用一个新的数据端口(一般是20号端口)与客号端口)与客户端的端口端的端口N+1建立建立连接,然后接,然后进行文件数据行文件数据传输,而客,而客户端端则通通过监听听N+1端口端口接收文件数据。接收文件数据。Passive模式模式(PASV,被,被动模式模式)该模式表示服模式表示服务器被器被动接受客接受客户端端连接接请求,即控制求,即控制连接接请求和数求和数据据连接接请求都由客求都由客户端端发起。在此模式下,起。在此模式下,FTP客客户端先随机开启端先随机开启一个端口一个端口N向服向服务器的器的21号端口号端口发起控制起控制连接,然后向服接,然后向服务器器发送送PASV命
10、令,服命令,服务器收到此命令后,会用一个新的端口器收到此命令后,会用一个新的端口P(P1024)进行行监听,同听,同时将将该端口号告端口号告诉客客户端,客端,客户端收到响端收到响应命令后,命令后,再通再通过新的端口新的端口N+1连接服接服务器的端口器的端口P,然后,然后进行文件数据行文件数据传输。10107.2 FTP7.2 FTP规范规范7.2.1 FTP命令命令7.2.2 FTP响响应码11117.2.1 FTP7.2.1 FTP命令命令FTP每个命令都由每个命令都由3到到4个字母个字母组成,后面是成,后面是该命令的参数,命令与命令的参数,命令与参数之参数之间用空格隔开。每个命令都以回用空
11、格隔开。每个命令都以回车换行行结束。束。部分命令部分命令举例:例:1访问命令命令(1)USER命令命令格式:格式:USER 功能:指定登功能:指定登录的用的用户名,以便服名,以便服务器器进行身份行身份验证。此。此命令通常是控制命令通常是控制连接后第一个接后第一个发出的命令。另外,如果客出的命令。另外,如果客户端需要改端需要改变登登录的用的用户,也可以重新,也可以重新发送送USER命令,在命令,在这种情况下,原来种情况下,原来设置的置的传输参数不会改参数不会改变。12127.2.1 FTP7.2.1 FTP命令(续)命令(续)(2)PASS命令命令格式:格式:PASS 功能:指定用功能:指定用户
12、口令,口令,该命令必命令必须跟在登跟在登录用用户名命令之名命令之后。后。对于需要用于需要用户口令的口令的FTP服服务器,它是完成器,它是完成访问控制不控制不可缺少的一步。可缺少的一步。(3)ACCT命令命令格式:格式:ACCT 功能:指定用功能:指定用户账号。此命令不需要和号。此命令不需要和USER相关,服相关,服务器器端可以端可以设置客置客户端端帐号,也可以限制号,也可以限制账户访问权限。限。13137.2.1 FTP7.2.1 FTP命令(续)命令(续)(4)REIN命令命令格式:格式:REIN功能:表示重新初始化用功能:表示重新初始化用户信息。此命令信息。此命令终止当前止当前USER的的
13、传输,同,同时终止正在止正在传输的数据,然后重置所有参数,并的数据,然后重置所有参数,并打开控制打开控制连接,以便客接,以便客户端再次端再次发送送USER命令。命令。(5)QUIT命令命令格式:格式:QUIT功能:关功能:关闭与服与服务器的器的连接。接。14147.2.1 FTP7.2.1 FTP命令(续)命令(续)2模式模式设置命令置命令(1)PASV命令命令格式:PASV功能:该命令告诉FTP服务器,让FTP服务器在指定的数据端口进行监听,进入被动接收请求的状态。这种方式对于有代理服务器的客户端更安全,因为客户端代理服务器不必接受传入的连接。如果未指定任何模式,则FTP服务器默认使用PAS
14、V模式。注意:由于某些客户端可能会运行防火墙,从而使PASV模式对客户端代理服务器不起作用。因此,可将客户端代理服务器配置为使用PORT模式。15157.2.1 FTP7.2.1 FTP命令(续)命令(续)(2)PORT命令命令格式:格式:PORT 功能:功能:该命令告命令告诉FTP服服务器,客器,客户端端监听的端口号是听的端口号是address,让FTP服服务器采用主器采用主动模式模式连接客接客户端。端。程序程序员可以可以对所有所有FTP服服务器启用器启用PORT模式,也可以模式,也可以仅对特定特定FTP服服务器启用此模式。但是要注意,如果客器启用此模式。但是要注意,如果客户端代理端代理服服
15、务器位于防火器位于防火墙之后,使之后,使PORT模式不起作用,模式不起作用,则无法启无法启用用PORT模式,此模式,此时可以可以尝试使用使用PASV模式。模式。16167.2.1 FTP7.2.1 FTP命令(续)命令(续)(3)TYPE命令命令格式:格式:TYPE 功能:指定要功能:指定要传输的数据的数据类型,有型,有ASCII和和BINARY。格式:格式:MODE 功能:指定功能:指定传输模式,模式,S表示流,表示流,B表示表示块,C表示表示压缩。17177.2.1 FTP7.2.1 FTP命令(续)命令(续)3文件管理命令文件管理命令(1)CWD命令:命令:CWD 功能:改功能:改变工作
16、目工作目录。此命令使用。此命令使用户可以在不同的目可以在不同的目录或或数据集下工作而不用改数据集下工作而不用改变它的登它的登录或或帐户信息,信息,传输参数参数也不也不变。参数一般是目。参数一般是目录名或与系名或与系统相关的文件集合。相关的文件集合。(2)PWD命令:命令:PWD 返回当前工作目返回当前工作目录。(3)MKD命令:命令:MKD 在指定路径下在指定路径下创建新目建新目录,参数,参数为表示特定目表示特定目录的字符串。的字符串。(4)CDUP命令:命令:回到上回到上层目目录。(5)RMD命令:命令:RMD:删除指定目除指定目录。参数。参数为表示特定目表示特定目录的字符串。的字符串。18
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c#网络应用编程第07章 FTP应用编程 c# 网络 应用 编程 07 FTP
限制150内