Python http.server服务搭建
2023-09-11 14:20:29 时间
如果是简单搭建一个HTTP服务,业务不太复杂的话,是不需要使用 Flask 和 Django 的。使用自带的http.server模块就可以啦。我用一个例子讲讲python怎么做一个简单的web服务,首先我先写服务逻辑方法,文件名为heaps.py,这个代码来自我的数学算法专栏,是全排列的Heap算法,代码如下:
def recursive(array, last, result):
if last == 0:
result.append(array[:])
return
for i in range(0, last + 1):
recursive(array, last - 1, result)
if last & 1 == 0:
array[0], array[last] = array[last], array[0]
else:
array[i], array[last] = array[last], array[i]
def permutations(array):
result = []
recursive(array, len(array) - 1, result)
return result
然后再写HTTP服务代码:
import http.server
import http.server
import socketserver
from heap import permutations
class Request(http.server.BaseHTTPRequestHandler):
def do_POST(self):
datas = self.rfile.read(int(self.headers['content-length']))
result = permutations(eval(datas))
self.send_response(200)
self.send_header("Content-type", "text/html") # 设置post时服务器的响应头
self.end_headers()
self.wfile.write(str(result).encode())
if __name__ == '__main__':
PORT = 8080
with socketserver.TCPServer(("", PORT), Request) as httpd:
print("serving at port", PORT)
httpd.serve_forever()
最后使用Post-Man测试,成功!
相关文章
- Python脚本扫描给定网段的MAC地址表(scapy或 python-nmap)
- Python脚本写端口扫描器(socket,python-nmap)
- 《Python开发实战》
- Python的namedtuple使用详解
- Python任意参数的数量/预习课python基础
- 地球引擎初级教程——Python API 语法(内涵JavaScript转python工具包介绍)
- Python零基础入门,2分钟带你了解python
- 脚本文件直接执行python代码
- python读取csv文件
- Ubuntu Server无桌面无显示器情况下虚拟屏幕xvfb的安装及设置—ubuntu18.04server服务器系统下为python安装虚拟显示器 (使用jupyter notebook在web端播放openai的gym下保存的运行视频——需安装ipython)
- Python 使用PyMySql 库 连接MySql数据库时 查询中文遇到的乱码问题(实测可行) python 连接 MySql 中文乱码 pymysql库
- 我为什么将机器学习主力语言从Python转到Rust
- 【Python分布式服务框架】python实现gRPC服务
- 高性能的Python扩展:第一部分
- sql server作业报错:从ICassFactory为CLSID为{17BCA6E8-A950-497E-B2F9-AF6AA475916F}的COM组件创建实例失败,原因是出现以下错误:c001f011.(Microsoft.Server.manageDTS)
- 解决Python读取SQL Server中文乱码问题
- 学习python第三天之多行函数
- Selenium4 Python实现Page Factory设计模式,python新的定位方法
- Python 颜色检测