Python实现的ftp服务器功能详解【附源码下载】
作者:轻舞肥羊 发布时间:2021-12-23 08:30:55
本文实例讲述了Python实现的ftp服务器功能。分享给大家供大家参考,具体如下:
python 具备强大的网络编程功能,而且代码简介,用简单的代码,就能实现一个功能强大的FTP 服务器。我亲自测试了这个 python ftp server. 代码下载,在文章的末尾处,整个部署介绍如下:
1. 环境, python 2.7.3 ,centos 6.2 .
2. 定义服务器ip ,端口等信息,可以在下载的源码中查看
listen_ip = "192.168.4.128" # ftp server 的 ip 地址
listen_port = 2111 # ftp 端口,默认21,这里我设置成2111.
conn_list = []
root_dir = "/home/summer/ftp" # 这是定义的ftp目录,可以改成你想要的.
max_connections = 500
conn_timeout = 120
3. 搭建一个测试ftp 目录
在 /home/summer/ftp 目录下,新建 目录 :anonymous ,这是为了支持匿名用户的
在 /home/summer/ftp 目录下,新建 目录 :yihaomen, 目录名也就是用户名,然后再yihaomen 目录下创建 ".xxftp" 目录,然后在此目录中建立一个文件 password, 并用 vi 编辑,添加内容为"5f4dcc3b5aa765d61d8327deb882cf99" 其实这就是 "password" 的 md5 加密后的字符串.
4. 现在启动 python Ftp脚本,启动后会显示提示: ftpd is listening on 192.168.4.128:2111
5. 找一台windows 机器登陆:用户名:yihaomen,密码:password
由于我们开启了匿名用户,所以不用登陆也是可以的。
登陆之后,你就可以创建文件夹,添加删除文件了。
6. 回到 centos 服务器上面,你会发现 你添加的东西已经生效。
用这种方法,可以很灵活的实现一个自己需要的FTP server ,而且也很好继承到各种环境中,也很方便.
完整实例代码点击此处本站下载。
希望本文所述对大家Python程序设计有所帮助。
来源:http://www.yihaomen.com/article/python/287.htm


猜你喜欢
- 文件下载(遇到的坑)1.要区分下载的内容是什么0.1 图片下载wx.saveImageToPhotosAlbum(Object
- 像这种不能创建一个.frm 文件的报错好像暗示着操作系统的文件的权限错误或者其它原因,但实际上,这些都不是的,事实上,这个mysql报错已经
- 用了这么长时间,发现自己竟然不知道utf_bin和utf_general_ci这两者到底有什么区别。。ci是 case insensitiv
- 1. 前言当日期数据作为图表的坐标轴时通常需要特殊处理,应为日期字符串比较长,容易产生重叠现象2. 设定主/次刻度2.1 引用库from m
- 一、问题开发中遇到将其它数据库数据插入到mysql数据库表中一直会报类似如下错误:Incorrect string value: '
- BEGIN -- 声明变量 DECLARE v_addtime_begin varchar(13); DECLARE v_addtime_e
- 本文实例讲述了mysql 复制原理与实践应用。分享给大家供大家参考,具体如下:复制功能是将一个mysql数据库上的数据复到一个或多个mysq
- 1,查看log情况mysql> show global variables like '%log%';+-------
- 本文实例讲述了Python数据结构与算法之图的广度优先与深度优先搜索算法。分享给大家供大家参考,具体如下:根据 * 的伪代码实现:广度优先
- 近日,某个QQ 群里的一个朋友提出一个问题,如何将一个DB 的表结构同步给另一个DB。针对这个问题,我进行了思考与实践,具体的实现代码如下所
- 目录背景法1,不适用法2,已不能用法3:Appnium法4:模拟操作整体代码后续工作及扩展总结背景由于课题需要爬取朋友圈的内容作为研究数据,
- 最近学习了SSD算法,了解了其基本的实现思路,并通过SSD模型训练自己的模型。基本环境torch1.2.0Pillow8.2.0torchv
- 多子图figure是绘制对象(可以理解为一个空白的画布),一个figure对象可以包含多个Axes子图,一个Axes是一个绘图区域,不加设置
- 本文研究的主要是Django使用httpresponse返回用户头像,下面是相关实例代码。当请求一个页面时,Django 把请求的 meta
- 本文实例讲述了基于进程内通讯的python聊天室实现方法。分享给大家供大家参考。具体如下:#!/usr/bin/env python# Ad
- 测试环境:先让我们熟悉下基本的sql语句,来查看下我们将要测试表的基本信息use infomation_schemaSELECT * FRO
- 前言extends关键字在TS编程中出现的频率挺高的,而且不同场景下代表的含义不一样,特此总结一下:表示继承/拓展的含义表示约束的含义表示分
- Python 中如果需要对一个变量进行增量运算通常有两种写法,a = a + b 或 a += b。虽然两种方法能够得到同样的结果,但两者却
- MySQL的SQRT函数是用来计算出任何数量的平方根。可以使用SELECT语句找出方检定根的任意数如下:mysql> select S
- 2005转到2000的步骤 1. 生成for 2000版本的数据库脚本 2005 的manger s