使用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常用模块介绍
Nov 21 Python
解决python3中解压zip文件是文件名乱码的问题
Mar 22 Python
python训练数据时打乱训练数据与标签的两种方法小结
Nov 08 Python
在unittest中使用 logging 模块记录测试数据的方法
Nov 30 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
Jan 30 Python
python 列表转为字典的两个小方法(小结)
Jun 28 Python
python文件读写代码实例
Oct 21 Python
python的等深分箱实例
Nov 22 Python
Python中six模块基础用法
Dec 08 Python
Python pip安装第三方库实现过程解析
Jul 09 Python
OpenCV Python实现图像指定区域裁剪
Mar 12 Python
pytest实现多进程与多线程运行超好用的插件
Jul 15 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
Sony CFR 320 修复改造
2020/03/14 无线电
使用 MySQL 开始 PHP 会话
2006/12/21 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
smarty中常用方法实例总结
2015/08/07 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
2017/08/07 PHP
jQuery温习篇 强大的JQuery选择器
2010/04/24 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
2013/02/22 Javascript
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
Angularjs过滤器使用详解
2016/05/25 Javascript
Bootstrap DateTime Picker日历控件简单应用
2017/03/25 Javascript
js实现抽奖效果
2017/03/27 Javascript
jQuery实现文章图片弹出放大效果
2017/04/06 jQuery
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
Node.js使用cookie保持登录的方法
2018/05/11 Javascript
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
2018/07/23 Javascript
vue实现的网易云音乐在线播放和下载功能案例
2019/02/18 Javascript
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
2019/10/26 jQuery
vue分页插件的使用方法
2019/12/25 Javascript
vue项目在webpack2实现移动端字体自适配功能
2020/06/02 Javascript
js动态生成表格(节点操作)
2021/01/12 Javascript
[08:02]DOTA2牵红线 zhou神抱得美人归
2014/03/22 DOTA
[43:35]TI4 循环赛第二日Liquid vs Fnatic
2014/07/11 DOTA
python爬虫之快速对js内容进行破解
2019/07/09 Python
python自动结束mysql慢查询会话的实例代码
2019/10/27 Python
pytorch-神经网络拟合曲线实例
2020/01/15 Python
在PyTorch中使用标签平滑正则化的问题
2020/04/03 Python
英国当代时尚和街头服饰店:18montrose
2018/12/15 全球购物
实验教师岗位职责
2014/02/13 职场文书
幼儿园毕业教师感言
2014/02/21 职场文书
校园活动策划方案
2014/06/13 职场文书
五一促销活动总结
2014/07/01 职场文书
寒假社会实践个人总结
2015/03/06 职场文书
质量整改通知单
2015/04/21 职场文书
iPhone13再次曝光
2021/04/15 数码科技
Django drf请求模块源码解析
2021/06/08 Python
Python matplotlib绘制雷达图
2022/04/13 Python