zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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测试,成功!
在这里插入图片描述