当前位置: 首页 > news >正文

Python 一行命令部署http、ftp服务

Python 一行命令部署http服务

文章目录

      • Python 一行命令部署http服务
      • 具体操作命令如下
      • 浏览器返回下载
      • Python 一行命令部署FTP服务

具体操作命令如下

  • 这个比nginx相对来说更加简单,可以用于部署特殊场景时如银行等部署时,各种权限控制,内网之间可以分发部署包。

  • 首先进入需要访问下载对应目录

root@raspberrypi:~ $ cd tmpfile
  • 如果Python版本为2.x,输入命令
python -m SimpleHTTPServer 80
  • 如果Python版本为3.x,输入命令
python -m http.server 80

浏览器返回下载

  • 浏览器下载

  • wget下载
pi@raspberrypi:~ $ wget 10.130.77.55/ZabbixSendApi.tar.gz
--2023-06-25 14:47:15--  http://10.130.77.55/ZabbixSendApi.tar.gz
Connecting to 10.130.77.55:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6018461 (5.7M) [application/gzip]
Saving to: ‘ZabbixSendApi.tar.gz’
ZabbixSendApi.tar.gz                                               
100%[============================================================================================================================>] 5.74M  16.4MB/s    in 0.4s    
2023-06-25 14:47:15 (16.4 MB/s) - ‘ZabbixSendApi.tar.gz’ saved [6018461/6018461]

Python 一行命令部署FTP服务

  • 快速部署FTP 服务器来临时实现文件上传下载时,利用 PythonPyftpdlib 模块可以快速的实现一个 FTP 服务器的功能。

  • pyftpdlib安装

[root@api1 ~]# pip install pyftpdlib
  • pyftpdlib 帮助信息
[root@api1 site-packages]# python -m pyftpdlib --help
Usage: python3 -m pyftpdlib [options]Start a stand alone anonymous FTP server.Options:-h, --helpshow this help message and exit-i ADDRESS, --interface=ADDRESSspecify the interface to run on (default all interfaces)-p PORT, --port=PORTspecify port number to run on (default 2121)-w, --writegrants write access for logged in user (default read-only)-d FOLDER, --directory=FOLDERspecify the directory to share (default current directory)-n ADDRESS, --nat-address=ADDRESSthe NAT address to use for passive connections-r FROM-TO, --range=FROM-TOthe range of TCP ports to use for passive connections (e.g. -r 8000-9000)-D, --debugenable DEBUG logging level-v, --versionprint pyftpdlib version and exit-V, --verboseactivate a more verbose logging-u USERNAME, --username=USERNAMEspecify username to login with (anonymous login will be disabled and password required if supplied)-P PASSWORD, --password=PASSWORDspecify a password to login with (username required to be useful)
  • ftp案例
    • 使用10001端口,指定/tmp为存储目录,使用用户名admin,密码Python@123
[root@api1 python  -m pyftpdlib -p 10001 -w -d /tmp/ -u admin -P Python@123
  • 客户端登录验证
[root@api1 ~]# ftp 10.130.41.10 10001
Connected to 10.130.41.10 (10.130.41.10).
220 pyftpdlib 1.5.9 ready.
Name (10.130.41.10:root): admin
331 Username ok, send password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls 
227 Entering passive mode (10,130,41,10,167,170).
125 Data connection already open. Transfer starting.
drwxrwxrwt   2 root     root         4096 Sep 17  2021 .ICE-unix
drwxrwxrwt   2 root     root         4096 Sep 17  2021 .Test-unix
drwxrwxrwt   2 root     root         4096 Sep 17  2021 .X11-unix
drwxrwxrwt   2 root     root         4096 Sep 17  2021 .XIM-unix
drwxrwxrwt   2 root     root         4096 Sep 17  2021 .font-unix
-rw-r--r--   1 root     root      2508216 Jan 16 09:14 11.txt
-rw-r--r--   1 root     root     13205746 Jan 16 09:13 1629.pcap
drwxr-xr-x   2 agent    agent        4096 Jan 03 05:40 hsperfdata_agent
drwxr-xr-x   2 portal   portal       4096 Jan 16 08:58 hsperfdata_portal
drwx------   3 root     root         4096 Jan 03 05:34 systemd-private-8fca0ca0813b472a8292a045e324735f-chronyd.service-h16uCI
226 Transfer complete.
ftp> put 11.txt  
local: 11.txt remote: 11.txt
227 Entering passive mode (10,130,41,10,157,167).
125 Data connection already open. Transfer starting.
226 Transfer complete.
2508216 bytes sent in 0.00447 secs (560495.23 Kbytes/sec)ftp> get  11.txt  
local: 11.txt remote: 11.txt
227 Entering passive mode (10,130,41,10,184,184).
125 Data connection already open. Transfer starting.
226 Transfer complete.
2508216 bytes received in 0.0201 secs (124520.48 Kbytes/sec)
ftp> 

本文由mdnice多平台发布

相关文章:

Python 一行命令部署http、ftp服务

Python 一行命令部署http服务 文章目录 Python 一行命令部署http服务具体操作命令如下浏览器返回下载Python 一行命令部署FTP服务 具体操作命令如下 这个比nginx相对来说更加简单,可以用于部署特殊场景时如银行等部署时,各种权限控制,内网之间…...

DBA技术栈(三):MySQL 性能影响因素

文章目录 前言一、影响MySQL性能的因素1.1 商业上的需求1.2 应用架构规划1.3 查询语句使用方式1.4 Schema的设计1.5 硬件环境 总结 前言 大部分人都一致认为一个数据库应用系统(这里的数据库应用系统概指所有使用数据库的系统)的性能瓶颈最容易出现在数…...

SpringCloud GateWay 在全局过滤器中注入OpenFeign网关后无法启动

目录 一、问题 二、原因 1、修改配置 2、添加Lazy注解在client上面 3、启动成功 一、问题 当在gateway的全局过滤器GlobalFilter中注入OpenFeign接口的时候会一直卡在路由中,但是不会进一步,导致启动未成功也未报错失败 2024-01-18 22:06:59.299 I…...

web前端项目-贪吃蛇小游戏【附源码】

web前端项目-贪吃蛇小游戏 【贪吃蛇】是一款经典的小游戏,采用HTML、CSS和JavaScript技术进行开发,玩家通过控制一条蛇在地图上移动,蛇的目的是吃掉地图上的食物,并且让自己变得更长。游戏的核心玩法是控制蛇的移动方向和长度&am…...

ICCV2023 | PTUnifier+:通过Soft Prompts(软提示)统一医学视觉语言预训练

论文标题:Towards Unifying Medical Vision-and-Language Pre-training via Soft Prompts 代码:https://github.com/zhjohnchan/ptunifier Fusion-encoder type和Dual-encoder type。前者在多模态任务中具有优势,因为模态之间有充分的相互…...

代码随想录 Leetcode459. 重复的子字符串(KMP算法)

题目&#xff1a; 代码&#xff08;首刷看解析 KMP算法 2024年1月18日&#xff09;&#xff1a; class Solution { public:void getNext(string& s,vector<int>& next) {int j 0;next[0] j;for (int i 1; i < s.size(); i) {while (j > 0 && s…...

Rust之构建命令行程序(三):重构改进模块化和错误处理

开发环境 Windows 10Rust 1.74.1 VS Code 1.85.1 项目工程 这次创建了新的工程minigrep. 重构改进模块化和错误处理 为了改进我们的程序&#xff0c;我们将修复与程序结构及其处理潜在错误的方式有关的四个问题。首先&#xff0c;我们的main函数现在执行两项任务:解析参数和…...

广和通AI解决方案“智”赋室外机器人迈向新天地!

大模型趋势下&#xff0c;行业机器人将具备更完善的交互与自主能力&#xff0c;逐步迈向AI 2.0时代&#xff0c;成为人工智能技术全面爆发的重要基础。随着行业智能化&#xff0c;更多机器人应用将从“室内”走向“室外”&#xff0c;承担更多高风险、高智能工作。复杂的室外环…...

C++I/O流——(4)格式化输入/输出(第二节)

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 含泪播种的人一定能含笑收获&#xff…...

九、K8S-label和label Selector

label和label selector 标签和标签选择器 1、label 标签&#xff1a; 一个label就是一个key/value对 label 特性&#xff1a; label可以被附加到各种资源对象上一个资源对象可以定义任意数量的label同一个label可以被添加到任意数量的资源上 2、label selector 标签选择器 L…...

【.NET Core】 多线程之(Thread)详解

【.NET Core】 多线程之&#xff08;Thread&#xff09;详解 文章目录 【.NET Core】 多线程之&#xff08;Thread&#xff09;详解一、概述二、线程的创建和使用2.1 ThreadStart用于无返回值&#xff0c;无参数的方法2.2 ParameterizedThreadStart:用于带参数的方法 三、线程的…...

苹果笔记本 macbook 在 office word 中使用 mathtype 的方法

前言 想在 MacBook 中使用 mathtype&#xff0c;去搜索&#xff0c;去 Apple Store 下载也发现没有 解决方法 打开 office Word 的「插入」中的「获取加载项」、「我的加载项」。 在应用商店中下载&#xff0c;需要登录自己的微软账号。 加载成功后就可以使用了。 注意 和…...

课表排课小程序怎么制作?多少钱?

在当今的数字化时代&#xff0c;无论是购物、支付、点餐&#xff0c;还是工作、学习&#xff0c;都离不开各种各样的微信小程序。其中&#xff0c;课表排课小程序就是许多教育机构和学校必不可少的工具。那么课表排课小程序怎么制作呢&#xff1f;又需要多少钱呢&#xff1f; …...

C语言总结十三:程序环境和预处理详细总结

了解程序的运行环境可以让我们更加清楚的程序的底层运行的每一个步骤和过程&#xff0c;做到心中有数&#xff0c;预处理阶段是在预编译阶段完成&#xff0c;掌握常用的预处理命令语法&#xff0c;可以让我们正确的使用预处理命令&#xff0c;从而提高代码的开发能力和阅读别人…...

tinyxml2

使用tinyxml2&#xff0c;得知道一些xml基础 xml tutorial--菜鸟 tinyxml2类对象 链接 结构 XMLNode 什么是节点 节点&#xff1a;元素、声明、文本、注释等。 XMLDocument xml文档(文件)对象。 作用&#xff1a; 加载xml文件&#xff0c; tinyxml2作用 先定义两个宏 …...

What is `@Controller` does?

Controller 是SpringMVC注解&#xff0c;标记一个类作为Web控制器&#xff08;Controller&#xff09;&#xff0c;负责处理HTTP请求并返回响应结果 在SpringMVC中&#xff0c;控制器类的主要职责是&#xff1a; 1、接收来自客户端的HTTP请求 2、调用服务层或其他业务逻辑组件…...

新版AndroidStudio dependencyResolutionManagement出错

在新版AndroidStudio中想像使用4.2版本或者4.3版本的AndroidStudio来构造项目&#xff1f;那下面这些坑我们就需要来避免了&#xff0c;否则会出各种各样的问题。 一.我们先来看看新旧两个版本的不同。 1.jdk版本的不同 新版默认是jdk17 旧版默认是jdk8 所以在新版AndroidSt…...

第三天业务题

3-1 你们的项目是如何进行参数校验的 在我们的项目中&#xff0c;通常使用以下2种方式进行参数校验&#xff1a; 1.手动校验&#xff1a;在方法内部&#xff0c;我们可以手动编写代码来对参数进行校验。例如&#xff0c;使用条件判断语句&#xff08;if-else&#xff09;来检…...

nestjs 装饰器

1、装饰器定义 装饰器是一种特殊的类型声明&#xff0c;它可以附加在类、方法、属性、参数上边 需开启tsconfig.json中 "experimentalDecorators":true 生成tsconfig.json文件 tsc -init 2、类装饰器 // 类装饰器 主要是通过符号添加装饰器 // 装饰器会自动把cl…...

一款开源且不限制大小可以设置过期时间的支持分享的的开源文件共享系统picoshare 部署教程

1.拉取镜像 2.部署 创建目录 mkdir -p /opt/picoshare/data 部署 其中:"somesecretpass"是密码 docker run \--env "PORT4001" \--env "PS_SHARED_SECRETsomesecretpass" \--publish 10005:4001/tcp \--volume "/opt/picoshare/data:…...

工厂化循环水产养殖系统:数据驱动,养殖更精准

工厂化循环水产养殖系统解决方案&#xff0c;以物联网感知、智能控制、大数据分析、智能决策为核心&#xff0c;构建“水质精准调控智能投喂生长监测病害报警运维管理循环水处理”全链路闭环&#xff0c;实现高密度、零换水(或微换水)、高产出、低风险的现代化养殖。 通过物联网…...

Cursor Free VIP终极指南:彻底解决API限制,免费畅享Pro功能的完整方案

Cursor Free VIP终极指南&#xff1a;彻底解决API限制&#xff0c;免费畅享Pro功能的完整方案 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功…...

Qwen3.5-9B-AWQ-4bit Java开发环境快速配置:从安装到第一个AI程序

Qwen3.5-9B-AWQ-4bit Java开发环境快速配置&#xff1a;从安装到第一个AI程序 1. 准备工作&#xff1a;你需要什么 在开始之前&#xff0c;确保你的电脑满足以下基本要求&#xff1a; 操作系统&#xff1a;Windows 10/11、macOS 10.15 或主流Linux发行版内存&#xff1a;至少…...

零基础掌握CheatEngine-DMA:游戏内存分析与修改全攻略

零基础掌握CheatEngine-DMA&#xff1a;游戏内存分析与修改全攻略 【免费下载链接】CheatEngine-DMA Cheat Engine Plugin for DMA users 项目地址: https://gitcode.com/gh_mirrors/ch/CheatEngine-DMA 传统内存修改遇到的3大痛点 当你尝试分析游戏内存或进行内存修改…...

Elsevier Tracker:科研作者的审稿状态监控利器

Elsevier Tracker&#xff1a;科研作者的审稿状态监控利器 【免费下载链接】Elsevier-Tracker 项目地址: https://gitcode.com/gh_mirrors/el/Elsevier-Tracker 还在为Elsevier期刊审稿进度而焦虑吗&#xff1f;每天手动刷新页面、等待邮件通知的日子已经结束。Elsevie…...

企业级管理系统快速入门:RuoYi-Vue-Plus 3天从零到部署实战

企业级管理系统快速入门&#xff1a;RuoYi-Vue-Plus 3天从零到部署实战 【免费下载链接】RuoYi-Vue-Plus 基于RuoYi-Vue集成 LombokMybatis-PlusUndertowknife4jHutoolFeign 重写所有原生业务 定期与RuoYi-Vue同步 项目地址: https://gitcode.com/GitHub_Trending/ru/RuoYi-V…...

C++-string学习笔记

string学习笔记1、关键语法&#xff1a;1.1内联函数1.2静态成员常量1.3初始化列表1.4析构方式1.5operator1.5.1迭代器1.6strstr**1.6strcmp**string 头文件&#xff1a;#pragma once #include<iostream> #include<assert.h> #include<string.h> using namesp…...

大模型工具调用乱斗:MCP协议凭什么火?实战踩坑与选型建议

大模型工具调用乱斗&#xff1a;MCP协议凭什么火&#xff1f;实战踩坑与选型建议 作者&#xff1a;戴维1号 来自&#xff1a;NEXUS Tech Curator&#xff08;https://www.lsn.org.cn) 开场&#xff1a;被"大模型有脑子没手"折磨的第 N 天 你有没有这种感觉——大模型…...

突破Emby功能限制:emby-unlocked的技术实现与应用指南

突破Emby功能限制&#xff1a;emby-unlocked的技术实现与应用指南 【免费下载链接】emby-unlocked Emby with the premium Emby Premiere features unlocked. 项目地址: https://gitcode.com/gh_mirrors/em/emby-unlocked 在媒体服务器领域&#xff0c;Emby作为一款功能…...

新手零失败指南:在快马平台跟做交互式openclaw安装教程

最近在折腾一个叫openclaw的工具&#xff0c;作为新手被各种依赖和报错折磨得够呛。后来发现用InsCode(快马)平台可以把这个过程变成交互式教程&#xff0c;特别适合像我这样刚入门的小白。这里把踩坑经验整理成笔记&#xff0c;手把手带你零失败完成安装。 为什么选择交互式安…...