




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java实 践 课 程 设 计网上选课系统的设计与实现姓名:_ 黄炜杰 _ 班级:_ _ _网络14-1 _学号成绩:_ _ _ _ 一、系统需求分析 FTP(File Transfer Protocol),是文件传输协议的简称。是 TCP/IP 协议组中的协议之一,该协议是Internet文件传送的基础,它由一系列规格说明文档组成,目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。 本课程研究在Windows 7 中建立一个FTP,在网络中共享文件,并在python中设计一个程序,实现浏览远程FTP服务器的文件,上传/下载文
2、件。1.3系统功能需求分析 全世界现在已有1000多个(96年的数据)FTP文件服务器对所有INTERNET用户开使用,用户可以通过与Internet相连到远程计算机,把自己需要的文件传输过来或是把自己的收集传输上去与他人共享。传统的数据库应用系统采用的是客户机/服务器(Client/Server)模式,有高度的交互性,高效的用户界面等优点二、系统设计1-1 FTP简介 文件传输 文件传输服务是网络互联环境所必需的一种服务,当前网络中文件传输最主要的传输方式是使用FTP协议。 FTP,全称File Transfer Protocol,中文名为文件传输协议,它可以在网络中传输电子文档、图片、声音
3、、影视、程序及程序等多种类型的文件。如果用户需要将文件从自己的计算机上发送到另一台计算机上,可使用FTP上传(upload)或(put)操作,而更多种的情况是用户使用FTP下载(download)或获取(get)操作从FTP服务器上下载文件。 2.FTP工作原理 一个完整的FTP文件传输需要建立两种类型的连接,一种为文件传输下命令,称为控制连接,另一种实现真正的文件传输,称为数据连接。 (1) 控制连接 客户端希望与FTP服务器建立上传下载的数据传输时,它首先向服务器的TCP 21端口发起一个建立连接的请求,FTP服务器接受来自客户端的请求,完成连接的建立过程,这样的连接就称为FTP控制连接。
4、 (2) 数据连接 FTP控制连接建立之后,即可开始传输文件,传输文件的连接称为FTP数据连接。FTP数据连接就是FTP传输数据的过程,它有两种传输模式:主动传输模式(PORT)和被动传输模式(PASSIVE,简称PASV)。主动传输模式下,FTP服务器使用20端口与客户端的暂时端口进行连接,并传输数据,客户端只是处于接收状态。被动传输模式下,FTP服务器打开一个暂态端口等待客户端对其进行连接,并传输数据,服务器并不参与数据的主动传输,只是被动接受。1-2 开启FTP服务 控制面板添加/删除程序添加/删除Windows组件internet信息服务(IIS)详细信息 图1-1点击确定后进行下一步
5、继续操作,会提示插入系统光盘,按提示要求完成后,系统的FTP功能就被开启了(在控制面板管理工具可以查看Internet信息服务): 图1-2可以在DOS中测试登陆FTP: 图1-3在Internet信息服务中还可以设置FTP的登陆/登出消息。1-2 建立自己的FTP 运行FTP创建向导: 图1-4TCP端口设置为22,系统默认的端口为21,为了和系统默认端口不冲突:图1-5和系统默认端口冲突就会使建立的新FTP站点无法开启服务 完成建立FTP: 图1-6三、系统关键代码# !/usr/bin/env python# -*- coding:utf-8 -*-from ftplib import
6、FTPimport argparseimport socketimport timefrom termcolor import coloredimport osclass FtpTool(object):#初始化def _init_(self,hostaddre,username,password,remotedir,port,downloadfile,uploadfile,deletefile):self.username = usernameself.password = passwordself.remotedir = remotedirself.port = portself.host
7、addre = hostaddreself.downloadfile = downloadfileself.uploadfile = uploadfileself.deletefile = deletefileself.ftp = FTP()#登录def Login(self):ftp = self.ftpflag = Truetry:timeout = 60 socket.setdefaulttimeout(timeout)print '%s' % colored('+','green'),print '开始连接到%s' % s
8、elf.hostaddreftp.connect(self.hostaddre,self.port)time.sleep(2)print '%s' % colored('+','green'),print '成功连接到%s' % self.hostaddretime.sleep(2)except Exception:print '%s' % colored('-','red'),print '连接到%s' % self.hostaddre +'失败't
9、ry:print '%s' % colored('+','green'),print '开始登录到%s' % self.hostaddreftp.login(self.username,self.password)time.sleep(2)print '%s' % colored('+','green'),print '成功登录到%s' % self.hostaddre + 'nn'print 'ttt' + colored(ftp.g
10、etwelcome(),'red')+'nn'except Exception:print '%s' % colored('-','red'),print '登录失败,请检查用户名或密码是否正确'if(self.uploadfile != ''):self.UploadFile()else:returnif(self.downloadfile != ''):self.DowloadFile()else:returnif(self.DownFIles_Dir !=
11、39;'):self.DownFIles_Dir()else:returnif(self.Delete != ''):self.Delete()else:return#文件列表def FileList(self):try:list = self.ftp.dir()print listexcept Exception:return#下载def DowloadFile(self):try:path='/root/Desktop/FTP/data/'+self.downloadfilef=open(path,'wb')filename =
12、39;RETR ' + self.downloadfileself.ftp.retrbinary(filename,f.write)print '%s' % colored('+','blue'),print self.downloadfile +' is being downloaded'time.sleep(2)print '%s' % colored('+','blue'),print self.downloadfile +' Download success&
13、#39;print '%s' % colored('+','blue'),print ' Download the file in the data directory nn'f.close()except Exception:return#切换目录下载def DownFIles_Dir(self):try:self.ftp.cwd(self.remotedir)path='/root/Desktop/FTP/data/'+self.downloadfilef=open(path,'wb')file
14、name = 'RETR ' + self.downloadfileself.ftp.retrbinary(filename,f.write)print '%s' % colored('+','blue'),print self.downloadfile +' is being downloaded'time.sleep(2)print '%s' % colored('+','blue'),print self.downloadfile +' Download
15、 success'except Exception:return#上传def UploadFile(self):bufsize = 1024try: self.ftp.storbinary('STOR %s' % self.uploadfile, open(self.uploadfile,'rb'),bufsize)print '%s' % colored('+','blue'), print ' 已传送: %s' % self.uploadfile + 'n'except
16、Exception:return#删除文件def Delete(self):try:self.ftp.delete(self.deletefile)print '%s' % colored('+','blue'),print ' 删除'+colored(self.deletefile,'green')+'成功'except Exception:returnif _name_ = '_main_':parser = argparse.ArgumentParser(description
17、 = 'A simple ftptools')parser.add_argument('-host','-hostaddre',help='connection of hostaddre',required = True)parser.add_argument('-user','-username',help='username of ftp',required = True)parser.add_argument('-pass','-password'
18、;,help = 'password of ftp',required = True)parser.add_argument('-rd','-remotedir',help = 'setting dir of ftp')parser.add_argument('-p','-port',help='setting port of ftp',required = True)parser.add_argument('-down','-downloadfile',help='download file')parser.add_argument('-up','-uploadfile',help='upload file')parser.add_argument('-del','-deletefile',help='delete remote file') args = parser.parse_args()ftp = FtpTool(args.hostaddre, args.username, args.passwor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年语文考试实践性试题及答案解析
- 2025年药师考试未来发展趋势探讨试题及答案
- 主管护师考试案例分析技巧试题及答案
- 探讨中国文化的试题及答案汇编
- 执业药师考试中的理论与实操问题试题及答案
- 中国文化概论考试准备指南
- 执业护士考试案例分享与专业思维的培养试题及答案
- 2025年主管护师考试丰富资源试题及答案
- 中国老年围术期麻醉管理指导意见课件
- 制药公用系统工程 空气净化课件
- 管理学原理(南大马工程)
- 设备点检基准书
- 园林植物保护第二章共36张课件
- Visio图标-visio素材-网络拓扑图库
- DB63-T 1110-2020 青海省绿色建筑评价标准-(高清现行)
- 公共政策导论完整版课件全套ppt教学教程(最新)
- DBJ04∕T 416-2020 农村宅基地自建住房技术指南(标准)
- 归档范围和保管期限(8号令)讲解课件
- 瓦斯抽放泵培训PPT课件
- 疑似预防接种异常反应(AEFI)监测与处理PPT课件
- 德森印刷机常见问题点维修参考手册
评论
0/150
提交评论