python构建临时服务器


发布于 2024-05-16 / 53 阅读 / 0 评论 /
通过python搭建一个简单的下载服务器

python以其简洁特点赢得了广大开发者的喜爱,下面我们通过python来搭建一些临时服务器。临时服务器的使用场景非常多:

(1)临时下载服务器,用于同一子网下两个不同设备之间进行数据同步,无需第三方工具(比如U盘)的插入。

(2)构建监听端口,用于程序调试。这在进行网络连通性测试中非常有用,比如IPV6网络。

1.搭建服务器方法

ipv4网络下比较简单,一条命令即可。ipv6网络下需要进行简单的脚本编写。

1.1.ipv4服务器

搭建一个监听端口为112233的服务器。命令如下:

python3 -m http.server 112233

例如

[root@nieo-2002-4c01-4c01-140b-4c01-4c01-4c01-e50 abctest]# python3 -m http.server 112233
Serving HTTP on 0.0.0.0 port 112233 (http://0.0.0.0:112233/) ...
127.0.0.1 - - [15/May/2024 16:55:27] "GET / HTTP/1.1" 200 -

监听端口信息如下:

[root@nieo-2002-4c01-4c01-140b-4c01-4c01-4c01-e50 abctest]# netstat -ntlp | grep 112233
tcp        0      0 0.0.0.0:112233          0.0.0.0:*               LISTEN      3029449/python3     
[root@nieo-2002-4c01-4c01-140b-4c01-4c01-4c01-e50 abctest]#

我们可以把需要下载的文件放到命令执行的当前目录下,就可以对这个文件夹下的文件进行下载了。

1.2.ipv6服务器

ipv6环境下,需要编写简单的脚本test.py

import http.server
import socketserver
import socket
class HTTPServerV6(http.server.HTTPServer):
  address_family = socket.AF_INET6

Handler = http.server.SimpleHTTPRequestHandler
server = HTTPServerV6(('::', 112233), Handler)
server.serve_forever()

然后运行脚本,如下所示:

[root@nieo-2002-4c01-4c01-140b-4c01-4c01-4c01-e50 abctest]# python3 test.py 
2002:4c01:4c01:140b:4c01:4c01:4c01:e50 - - [15/May/2024 16:54:05] code 400, message Bad request syntax ('^]')
2002:4c01:4c01:140b:4c01:4c01:4c01:e50 - - [15/May/2024 16:54:05] "^]" 400 -

下面,就可以看到监听端口了

[root@nieo-2002-4c01-4c01-140b-4c01-4c01-4c01-e50 abctest]# netstat -ntlp | grep 112233
tcp6       0      0 :::112233                :::*                    LISTEN      3027493/python3     
[root@nieo-2002-4c01-4c01-140b-4c01-4c01-4c01-e50 abctest]#