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

发布时间:2024年01月17日

Python 一行命令部署http服务

具体操作命令如下

  • 这个比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, --help
     show this help message and exit

  -i ADDRESS, --interface=ADDRESS
     specify the interface to run on (default all interfaces)

  -p PORT, --port=PORT
     specify port number to run on (default 2121)

  -w, --write
     grants write access for logged in user (default read-only)

  -d FOLDER, --directory=FOLDER
     specify the directory to share (default current directory)

  -n ADDRESS, --nat-address=ADDRESS
     the NAT address to use for passive connections

  -r FROM-TO, --range=FROM-TO
     the range of TCP ports to use for passive connections (e.g. -r 8000-9000)

  -D, --debug
     enable DEBUG logging level

  -v, --version
     print pyftpdlib version and exit

  -V, --verbose
     activate a more verbose logging

  -u USERNAME, --username=USERNAME
     specify username to login with (anonymous login will be disabled and password required if supplied)

  -P PASSWORD, --password=PASSWORD
     specify 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多平台发布

文章来源:https://blog.csdn.net/zhao138969/article/details/135630510
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。