使用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 ORM框架SQLAlchemy学习笔记之安装和简单查询实例
Jun 10 Python
在Python程序中操作文件之flush()方法的使用教程
May 24 Python
python中偏函数partial用法实例分析
Jul 08 Python
Python在Windows和在Linux下调用动态链接库的教程
Aug 18 Python
详解 Python 读写XML文件的实例
Aug 02 Python
python实现Adapter模式实例代码
Feb 09 Python
15行Python代码带你轻松理解令牌桶算法
Mar 21 Python
Pycharm设置utf-8自动显示方法
Jan 17 Python
Python面向对象之类的封装操作示例
Jun 08 Python
python网络编程之多线程同时接受和发送
Sep 03 Python
python 用opencv实现霍夫线变换
Nov 27 Python
聊聊Python中关于a=[[]]*3的反思
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
rephactor 优秀的PHP的重构工具
2011/06/09 PHP
PHP判断网络文件是否存在的方法
2015/03/12 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
Javascript 类与静态类的实现(续)
2010/04/02 Javascript
jQuery源码分析-05异步队列 Deferred 使用介绍
2011/11/14 Javascript
深入理解JavaScript系列(10) JavaScript核心(晋级高手必读篇)
2012/01/15 Javascript
jquery基础知识第一讲之认识jquery
2016/03/17 Javascript
浅谈EasyUI常用控件的禁用方法
2016/11/09 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
2017/10/24 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
2018/08/25 Javascript
ES6中的迭代器、Generator函数及Generator函数的异步操作方法
2019/05/12 Javascript
JavaScript中跨域问题的深入理解
2021/03/04 Javascript
[03:24]2014DOTA2国际邀请赛 神秘商店生意火爆
2014/07/18 DOTA
[56:58]VP vs Optic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
2015/04/16 Python
python实现将英文单词表示的数字转换成阿拉伯数字的方法
2015/07/02 Python
Python中常用的内置方法
2019/01/28 Python
Django网络框架之HelloDjango项目创建教程
2019/06/06 Python
Python 如何优雅的将数字转化为时间格式的方法
2019/09/26 Python
python hash每次调用结果不同的原因
2019/11/21 Python
Python如何脚本过滤文件中的注释
2020/05/27 Python
Python如何在main中调用函数内的函数方式
2020/06/01 Python
详解HTML5新增标签
2017/11/27 HTML / CSS
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
Orlebar Brown官网:设计师泳裤和泳装
2020/12/08 全球购物
介绍一下SQL Server的全文索引
2013/08/15 面试题
写好自荐信要注意的问题
2013/11/10 职场文书
高中英语教学反思
2014/02/04 职场文书
教师工作失职检讨书
2014/09/18 职场文书
主持人开幕词
2015/01/29 职场文书
甲午风云观后感
2015/06/02 职场文书
婚宴父母致辞
2015/07/27 职场文书
2016入党积极分子党课培训心得体会
2016/01/06 职场文书
如何使用Tkinter进行窗口的管理与设置
2021/06/30 Python