使用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生成url短链接的方法
May 04 Python
python enumerate函数的使用方法总结
Nov 15 Python
nohup后台启动Python脚本,log不刷新的解决方法
Jan 14 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
Feb 22 Python
python Pandas库基础分析之时间序列的处理详解
Jul 13 Python
Python 列表去重去除空字符的例子
Jul 20 Python
Pytorch抽取网络层的Feature Map(Vgg)实例
Aug 20 Python
解决django的template中如果无法引用MEDIA_URL问题
Apr 07 Python
python使用QQ邮箱实现自动发送邮件
Jun 22 Python
python 判断一组数据是否符合正态分布
Sep 23 Python
用pip给python安装matplotlib库的详细教程
Feb 24 Python
基于Pygame实现简单的贪吃蛇游戏
Dec 06 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
2006/12/14 PHP
将文件夹压缩成zip文件的php代码
2009/12/14 PHP
windows系统php环境安装swoole具体步骤
2021/03/04 PHP
jQuery动态设置form表单的enctype值(实现代码)
2013/07/04 Javascript
js获取html文件的思路及示例
2013/09/17 Javascript
jQuery中用dom操作替代正则表达式
2014/12/29 Javascript
Jquery实现仿腾讯娱乐频道焦点图(幻灯片)特效
2015/03/06 Javascript
JS实现向表格中动态添加行的方法
2015/03/30 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
2016/04/03 Javascript
关于JS 预解释的相关理解
2016/06/28 Javascript
jQuery 中ajax异步调用的四种方式
2016/06/28 Javascript
AngularJS 避繁就简的路由
2016/07/01 Javascript
利用JavaScript实现栈的数据结构示例代码
2017/08/02 Javascript
深入浅析Vue.js 中的 v-for 列表渲染指令
2018/11/19 Javascript
jQuery ajax仿Google自动提示SearchSuggess功能示例
2019/03/28 jQuery
Angular6使用forRoot() 注册单一实例服务问题
2019/08/27 Javascript
JavaScript中的类型检查
2020/02/03 Javascript
深入浅析vue全局环境变量和模式
2020/04/28 Javascript
[02:25]专访DOTA2负责人Erik 国际邀请赛暂不会离开西雅
2014/07/21 DOTA
python 实现堆排序算法代码
2012/06/05 Python
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
对Python中实现两个数的值交换的集中方法详解
2019/01/11 Python
Python实现定时执行任务的三种方式简单示例
2019/03/30 Python
python函数超时自动退出的实操方法
2020/12/28 Python
Numpy ndarray 多维数组对象的使用
2021/02/10 Python
澳大利亚便宜隐形眼镜购买网站:QUICKLENS Australia
2018/10/06 全球购物
一加手机美国官方网站:OnePlus美国
2019/09/19 全球购物
Java软件工程师综合面试题笔试题
2013/09/08 面试题
环境科学专业大学生自荐信格式
2013/09/21 职场文书
大学生毕业求职的自我评价
2013/09/29 职场文书
大众服装店创业计划书范文
2014/01/01 职场文书
《长城和运河》教学反思
2014/04/14 职场文书
代理人委托书
2014/09/16 职场文书
应急管理工作总结2015
2015/05/04 职场文书
《雪地里的小画家》教学反思
2016/02/16 职场文书
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers