使用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 相关文章推荐
python3实现TCP协议的简单服务器和客户端案例(分享)
Jun 14 Python
Python实现去除图片中指定颜色的像素功能示例
Apr 13 Python
python django model联合主键的例子
Aug 06 Python
使用pyecharts生成Echarts网页的实例
Aug 12 Python
Python函数装饰器原理与用法详解
Aug 16 Python
Python-numpy实现灰度图像的分块和合并方式
Jan 09 Python
django orm模块中的 is_delete用法
May 20 Python
Python自动化之UnitTest框架实战记录
Sep 08 Python
python openssl模块安装及用法
Dec 06 Python
python实现控制台输出颜色
Mar 02 Python
pycharm2021激活码使用教程(永久激活亲测可用)
Mar 30 Python
详解Python中的进程和线程
Jun 23 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
哪吒敖丙传:新人物二哥敖乙出场 小敖丙奶气十足
2020/03/08 国漫
自己动手做一个SQL解释器
2006/10/09 PHP
PHP iconv 函数转gb2312的bug解决方法
2009/10/11 PHP
CI框架安全类Security.php源码分析
2014/11/04 PHP
php判断文件上传类型及过滤不安全数据的方法
2014/12/17 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
setTimeout和setInterval的浏览器兼容性分析
2007/02/27 Javascript
js动态为代码着色显示行号
2013/05/29 Javascript
Jquery对象和Dom对象的区别分析
2014/11/20 Javascript
如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上
2015/12/26 Javascript
使用Javascript实现选择下拉菜单互移并排序
2016/02/23 Javascript
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
2017/06/09 jQuery
jQuery:unbind方法的使用详解
2017/08/14 jQuery
详解Vue快速零配置的打包工具——parcel
2018/01/16 Javascript
js实现控制文件拖拽并获取拖拽内容功能
2018/02/17 Javascript
详解webpack运行Babel教程
2018/06/13 Javascript
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
详解Vscode中使用Eslint终极配置大全
2019/11/08 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
2014/08/15 Python
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
解决python3读取Python2存储的pickle文件问题
2018/10/25 Python
如何安装并使用conda指令管理python环境
2019/07/10 Python
解决Django Static内容不能加载显示的问题
2019/07/28 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
纯CSS3打造动感漂亮时尚的扇形菜单
2014/03/18 HTML / CSS
J2EE中常用的名词进行解释
2015/11/09 面试题
业务员薪酬管理制度
2014/01/15 职场文书
帮一个朋友写的求职信
2014/08/09 职场文书
查摆问题自我剖析材料
2014/08/18 职场文书
财务检查整改报告
2014/11/06 职场文书
初中作文评语集锦
2014/12/25 职场文书
英文商务邀请函范文
2015/01/31 职场文书
入团申请书格式
2019/06/20 职场文书