使用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中字符串的常见操作技巧总结
Jul 28 Python
Python 制作糗事百科爬虫实例
Sep 22 Python
python requests 使用快速入门
Aug 31 Python
对Python中plt的画图函数详解
Nov 07 Python
Python docx库用法示例分析
Feb 16 Python
Python机器学习算法库scikit-learn学习之决策树实现方法详解
Jul 04 Python
python 将字符串中的数字相加求和的实现
Jul 18 Python
pip install 使用国内镜像的方法示例
Apr 03 Python
Python垃圾回收机制三种实现方法
Apr 27 Python
python函数map()和partial()的知识点总结
May 26 Python
Matplotlib中rcParams使用方法
Jan 05 Python
python操作xlsx格式文件并读取
Jun 02 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将access数据库转换到mysql数据库的方法
2014/12/24 PHP
PHP创建多级目录的两种方法
2016/10/28 PHP
PHP基于递归算法解决兔子生兔子问题
2018/05/11 PHP
PHP JWT初识及其简单示例
2018/10/10 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
js 学习笔记(三)
2009/12/29 Javascript
jquery制作搜狐快站页面效果示例分享
2014/02/21 Javascript
JavaScript改变CSS样式的方法汇总
2015/05/07 Javascript
jQuery网页右侧广告跟随滚动代码分享
2020/04/20 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)
2016/08/29 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
详解jQuery事件
2017/01/13 Javascript
使用jquery+iframe做一个ajax上传效果(实例)
2017/08/24 jQuery
详解Immutable及 React 中实践
2018/03/01 Javascript
微信小程序实现留言板
2018/10/31 Javascript
JS中多层次排序算法的实现代码
2021/01/06 Javascript
python获取指定路径下所有指定后缀文件的方法
2015/05/26 Python
python下paramiko模块实现ssh连接登录Linux服务器
2015/06/03 Python
Python数据持久化shelve模块用法分析
2018/06/29 Python
python实现事件驱动
2018/11/21 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
2020/03/06 Python
详解HTML5 LocalStorage 本地存储
2016/12/23 HTML / CSS
解决H5的a标签的download属性下载service上的文件出现跨域问题
2019/07/16 HTML / CSS
Intersport西班牙:在线体育商店
2019/11/06 全球购物
abstract class和interface有什么区别?
2012/01/03 面试题
职业生涯规划书的格式
2013/12/29 职场文书
大学生表扬信范文
2014/01/09 职场文书
运动会广播稿150字
2014/02/19 职场文书
数学教研活动总结
2014/07/02 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
SpringBoot SpringEL表达式的使用
2021/07/25 Java/Android
一文弄懂MySQL索引创建原则
2022/02/28 MySQL
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
2022/04/14 Python
mysql中如何用命令创建联合唯一索引
2022/04/20 MySQL
科学家测试在太空中培育人造肉,用于未来太空旅行
2022/04/29 数码科技