使用python实现http及ftp服务进行数据传输的方法


Posted in Python onOctober 26, 2018

服务器之间的http数据传输

直接使用python内置的http服务:

python -m SimpleHTTPServer 8000

此时,输入指令的目录就已经开启了http服务,8000为端口(如不指定,默认为8000),如果我们需要在其他机器下垃取该目录下的文件,只需在目标机器运行:

wget ip:port/文件名

速度杠杆的。

开启ftp上传文件

安装ftp的python第三方组件

pip install pyftpdlib

编写启动脚本

from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
import os

def main():
 # Instantiate a dummy authorizer for managing 'virtual' users
 authorizer = DummyAuthorizer()

 # Define a new user having full r/w permissions and a read-only
 # anonymous user
 authorizer.add_user('user', '12345', '.', perm='elradfmwM')
 authorizer.add_anonymous(os.getcwd())

 # Instantiate FTP handler class
 handler = FTPHandler
 handler.authorizer = authorizer

 # Define a customized banner (string returned when client connects)
 handler.banner = "pyftpdlib based ftpd ready."

 # Specify a masquerade address and the range of ports to use for
 # passive connections. Decomment in case you're behind a NAT.
 #handler.masquerade_address = '151.25.42.11'
 #handler.passive_ports = range(60000, 65535)

 # Instantiate FTP server class and listen on 0.0.0.0:2121
 address = ('', 8888)
 server = FTPServer(address, handler)

 # set a limit for connections
 server.max_cons = 256
 server.max_cons_per_ip = 5

 # start ftp server
 server.serve_forever()

if __name__ == '__main__':
 main()

其中8888是我设定的端口号,user是用户名,12345是我指定的密码,此时,我们至需要运行脚本,就可以使用ftp工具,连接该ftp服务器,并上传文件了。

如果我们不使用我们自己编写的脚本,而是直接使用内置的脚本:

python -m pyftpdlib -p 8888

此时,连接该ftp服务器,使用的是默认的用户:anonymous,但是当我们上传文件时,会发现,没有该用户的上传权限,所以,这里建议自己编写运行脚本。

以上这篇使用python实现http及ftp服务进行数据传输的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python基础之getpass模块详细介绍
Aug 10 Python
Python subprocess模块详细解读
Jan 29 Python
python的格式化输出(format,%)实例详解
Jun 01 Python
python得到单词模式的示例
Oct 15 Python
python使用插值法画出平滑曲线
Dec 15 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
Jun 12 Python
PyQt5 多窗口连接实例
Jun 19 Python
Django处理Ajax发送的Get请求代码详解
Jul 29 Python
Python Pandas数据中对时间的操作
Jul 30 Python
TensorFlow tf.nn.conv2d实现卷积的方式
Jan 03 Python
Python logging自定义字段输出及打印颜色
Nov 30 Python
Python 实现PS滤镜的旋涡特效
Dec 03 Python
python 快速把超大txt文件转存为csv的实例
Oct 26 #Python
python针对不定分隔符切割提取字符串的方法
Oct 26 #Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
Oct 26 #Python
Python异常的检测和处理方法
Oct 26 #Python
Python subprocess库的使用详解
Oct 26 #Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
Oct 26 #Python
Python分割指定页数的pdf文件方法
Oct 26 #Python
You might like
php输出xml格式字符串(用的这个)
2012/07/12 PHP
php实现简单的上传进度条
2015/11/17 PHP
php链式操作的实现方式分析
2019/08/12 PHP
jQuery 名称冲突的解决方法
2011/04/08 Javascript
使用jquery自定义鼠标样式满足个性需求
2013/11/05 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
2015/03/11 Javascript
纯javascript模仿微信打飞机小游戏
2015/08/20 Javascript
angular.bind使用心得
2015/10/26 Javascript
layui前段框架日期控件使用方法详解
2017/05/19 Javascript
js封装成插件_Canvas统计图插件编写实例
2017/09/12 Javascript
AngularJs 最新验证手机号码的实例,成功测试通过
2017/11/26 Javascript
详解vue-cli 快速搭建单页应用之遇到的问题及解决办法
2018/03/01 Javascript
node+koa2+mysql+bootstrap搭建一个前端论坛
2018/05/06 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
2018/07/16 Javascript
webpack4 SplitChunks实现代码分隔详解
2019/05/23 Javascript
jQuery 动画与停止动画效果实例详解
2020/05/19 jQuery
JS PHP字符串截取函数实现原理解析
2020/08/29 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
2020/12/01 Vue.js
Python中模块pymysql查询结果后如何获取字段列表
2017/06/05 Python
python实现两个文件合并功能
2018/04/01 Python
Python模拟百度自动输入搜索功能的实例
2019/02/14 Python
树莓派实现移动拍照
2019/06/22 Python
python自动分箱,计算woe,iv的实例代码
2019/11/22 Python
Python接口测试get请求过程详解
2020/02/28 Python
python使用pyecharts库画地图数据可视化的实现
2020/03/25 Python
在 Pycharm 安装使用black的方法详解
2020/04/02 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
Python基础教程(一)——Windows搭建开发Python开发环境
2020/07/20 Python
10行Python代码实现Web自动化管控的示例代码
2020/08/14 Python
python中的列表和元组区别分析
2020/12/30 Python
波兰在线体育用品商店:Hop-Sport.pl
2019/07/23 全球购物
Vertbaudet西班牙网上商店:婴儿服装、童装、母婴用品和儿童家具
2019/10/16 全球购物
建筑工程技术应届生求职信
2013/11/17 职场文书
面试后感谢信怎么写
2014/02/01 职场文书
小学生期末评语大全
2014/04/21 职场文书
利用Python判断整数是否是回文数的3种方法总结
2021/07/07 Python