使用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生成随机数的方法
Jan 14 Python
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
Jul 02 Python
win与linux系统中python requests 安装
Dec 04 Python
Python基础之getpass模块详细介绍
Aug 10 Python
Python进阶学习之特殊方法实例详析
Dec 01 Python
python如何在列表、字典中筛选数据
Mar 19 Python
基于torch.where和布尔索引的速度比较
Jan 02 Python
pytorch对梯度进行可视化进行梯度检查教程
Feb 04 Python
Python3 assert断言实现原理解析
Mar 02 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
Sep 03 Python
利用python批量爬取百度任意类别的图片的实现方法
Oct 07 Python
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
Jun 07 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的超级变量$_GET获取HTML表单(Form) 数据
2011/05/07 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
2017/02/17 PHP
PHP中检索字符串的方法分析【strstr与substr_count方法】
2017/02/17 PHP
Js 弹出框口并返回值的两种常用方法
2010/12/30 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
javascript工厂方式定义对象
2014/12/26 Javascript
javascript实现点击后变换按钮显示文字的方法
2015/05/13 Javascript
jQuery实现点击小图显示大图代码分享
2015/08/25 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
2016/07/05 Javascript
AngularJS 所有版本下载地址
2016/09/14 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
利用node.js如何创建子进程详解
2017/12/09 Javascript
原生js实现省市区三级联动代码分享
2018/02/12 Javascript
Vue页面骨架屏注入方法
2018/05/13 Javascript
vue-router传递参数的几种方式实例详解
2018/11/13 Javascript
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
2019/02/18 Javascript
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
2019/06/04 Javascript
angular8和ngrx8结合使用的步骤介绍
2019/12/01 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
2020/04/07 Javascript
Python列表list解析操作示例【整数操作、字符操作、矩阵操作】
2017/07/25 Python
Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】
2018/12/26 Python
python mqtt 客户端的实现代码实例
2019/09/25 Python
python 申请内存空间,用于创建多维数组的实例
2019/12/02 Python
mac使用python识别图形验证码功能
2020/01/10 Python
python数据分析工具之 matplotlib详解
2020/04/09 Python
Python网页解析器使用实例详解
2020/05/30 Python
Solid & Striped官网:美国泳装品牌
2019/06/19 全球购物
十八大闭幕感言
2014/01/22 职场文书
保险专业自荐信范文
2014/02/20 职场文书
转让协议书范本
2014/04/15 职场文书
毕业生实习证明
2014/09/19 职场文书
工作疏忽检讨书500字
2014/10/26 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
SpringCloud Feign请求头删除修改的操作代码
2022/03/20 Java/Android
漫画「请问您今天要来点兔子吗?」最新杂志彩页公开
2022/03/24 日漫