当前位置: 首页 > news >正文

无锡高端网站建设哪家好黄冈网站建设哪家快些

无锡高端网站建设哪家好,黄冈网站建设哪家快些,免费餐饮管理系统,怎么做国外的网站用python实现FTP文件传输#xff0c;包括服务器端和客户端#xff0c;要求 #xff08;1#xff09;客户端访问服务器端要有一个验证功能 #xff08;2#xff09;可以有多个客户端访问服务器端 #xff08;3#xff09;可以对重名文件重新上传或下载 FTP#xff08;F…用python实现FTP文件传输包括服务器端和客户端要求 1客户端访问服务器端要有一个验证功能 2可以有多个客户端访问服务器端 3可以对重名文件重新上传或下载 FTPFile Transfer Protocol文件传输协议 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分其一为FTP服务器其二为FTP客户端。其中FTP服务器用来存储文件用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候通常利用FTP协议把网页或程序传到Web服务器上。它工作在TCP 模型的第四层 即应用层 使用 TCP 传输而不是 UDP 客户在和服务器建立连接前要经过一个“三次握手”的过程 保证客户与服务器之间的连接是可靠的 而且是面向连接 为数据传输提供可靠保证。服务器端 首先要实现对访问客户端的验证在本地建立一个数据库文件将客户端的用户名和密码写入到文件中。这样每次访问时都将用户名和密码和数据库中存在的进行匹配实现验证功能。这里对密码进行了MD5加密保证了密码不会轻易泄露。 {username: ahpu, password: 96e79218965eb72c92a549dd5a330112, limitsize: 10240000, homepath: D:\\FTP\\home\\ahpu} 登录验证功能具体实现 #!/usr/bin/env python # -*- coding: utf-8 -*- # Author : hgh import hashlib import os import json from conf import settings class User_auth(object): def auth(self, account_info):#此功能是进行用户的登录信息验证如果登录成功那么返回用户对应的http状态码及账户信息,否则只返回http状态码 :param account_info: 用户的账户信息用户名密码 :return:name account_info.split(:)[0] pwd account_info.split(:)[1] pwd self.hash(pwd.encode()) # 将用户名的密码转换成hash值 user_db_file settings.DATABASE r\%s.db % name # 也可以写成 \\%s.db or /%s.db if os.path.isfile(user_db_file): # 输入的用户名存在 with open(user_db_file) as fr: user_db_info json.loads(fr.read()) # or josn.load(fr) if pwd user_db_info[password]: return 200, user_db_info # 确定客户请求成功 else: return 403.11, None # 密码错误 else: return 400, None # 用户名不存在用户认证失败 def hash(self, pwd):用户的密码加密 :param self: :param pwd: 用户密码 :return:m hashlib.md5() m.update(pwd) return m.hexdigest() 然后是重传功能实现 #!/usr/bin/env python # -*- coding: utf-8 -*- # Author : hgh import hashlib import sys class Breakpoint(object): # 本模块确认用户上传或下载的文件是否存在如果存在是否需要断点续传 def transfer(self, filename, has_send_size, total_size, conn):进行续传 :param filename: :param has_send_size: 已经发送的文件大小 :param total_size: 需要传输文件总大小 :param conn: 客户端和服务端进行数据交换的接口 :return:with open(filename, rb) as fr: fr.seek(has_send_size) # 定位到续传的位置 print(has_send, has_send_size, total, total_size) m hashlib.md5() if has_send_size total_size: self.progress_bar(has_send_size, total_size) for line in fr: conn.send(line) m.update(line) has_send_size len(line) # self.progress_bar(has_send_size,total_size) return m.hexdigest() def progress_bar(self, has_send_size, total_size): bar_width 50 # 进度条长度 process has_send_size / total_size send_bar int(process * bar_width 0.5) # 发送的数据占到的进度条长度四舍五入取整 sys.stdout.write(# * send_bar * (bar_width - send_bar) \r) # 注意点只能这么写才能达到要求 sys.stdout.write(\r%.2f%%: %s%s % (process * 100, # * send_bar, * (bar_width - send_bar))) # 注意点在pycharm中要加\r\n # 用sublime只要\r否则换行 sys.stdout.flush() 服务器端代码 #!/usr/bin/env python # -*- coding: utf-8 -*- # Author : hgh import sys import os from core import socket_server path os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(path) if __name__ __main__: HOST, PORT 192.168.40.1, 9901 server socket_server.socketserver.ThreadingTCPServer((HOST, PORT), socket_server.MyTCPServer) server.serve_forever() 客户端 #!/usr/bin/env python # -*- coding: utf-8 -*- # Author : hgh from core import socket_client import os import sys path os.path.dirname(os.path.abspath(__file__)) sys.path.append(path) if __name__ __main__: host, port 192.168.40.1, 9901 myClient socket_client.MySocketClient(host, port) myClient.start() 由于篇幅有限具体服务器端及客户端代码都放在了github上地址https://github.com/heguohang/FTP-python 总结 到此这篇关于python实现FTP文件传输服务器端和客户端 的文章就介绍到这了,更多相关python ftp 文件传输内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们 本文标题: python实现FTP文件传输的方法服务器端和客户端 本文地址: http://www.cppcns.com/jiaoben/python/303439.html
http://www.pierceye.com/news/647350/

相关文章:

  • sql网站的发布流程品牌建设是什么意思
  • 营口网站建设价格江苏住房和建设厅网站
  • 网站稳定性不好的原因打金新开传奇网站
  • 做网站怎么上传图片厦门建站网址费用
  • 网站设计方案和技巧做设计有必要买素材网站会员吗
  • 成都制作网站软件网站别人帮做的要注意什么东西
  • 徐州建筑网站建网站要自己买服务器吗
  • 网站订单系统模板专业的做网站公司
  • 怎么做加盟美容院网站黄骅港开发区
  • 品牌高端网站制作官网做网站用的小图标
  • 成都网站设计合理柚v米科技泉州建设公司
  • 网页制作与网站建设完全学习手册软件下载网站怎么做
  • linux系统网站空间如何分析网站关键词
  • 以下属于网站页面设计的原则有查询网站空间商
  • 建设银行网站链接网络推广有哪些常见的推广方法
  • 常州网络公司网站图片在线制作加字
  • 漕泾网站建设建立内部网站
  • 海宁市住房和城乡规划建设局网站北京十大装饰装修公司
  • 创新的常州做网站网站页面设计公司电话
  • 建站公司见客户没话说周年庆网站要怎么做
  • 建设银行网站字体建设官方网站
  • 建设部网站人员查询商城网站 没有什么文章 怎样优化
  • wordpress按标签筛选广州seo网站
  • 南宁手机建站公司常德网站开发服务
  • 智能锁东莞网站建设php网站开发需要学什么软件
  • 扒网站样式中国搜索网站排名
  • 网站空间和云服务器建设建材网站费用
  • 公司网站 正式上线wordpress 移动端不显示
  • 旅行网站排名前十名网站检测报告哪里做
  • 随州做网站wordpress 显示评论内容