pytyhon 简单服务支持post

一行代码服务器

  • http.server.SimpleHTTPRequestHandler 是 Python 内置的一个 HTTP 服务器,它提供了最基本的 HTTP 服务功能。它可以处理 GET、HEAD 和 POST 请求。
  • http.server.SimpleHTTPRequestHandler 的默认实现只支持 GET 和 HEAD 请求

支持post

  • cgi 模式
  • --cgi 是一个用于启用 CGI(通用网关接口)支持的参数。CGI 是一种 Web 服务器与程序之间进行数据交换的标准接口,可以使 Web 应用程序与 Web 服务器进行交互,并根据用户请求返回相应的响应结果。
  • 当你在 Web 服务器上配置了 CGI 支持时,可以使用特定的 URL 来执行 CGI 程序。例如,当你访问 http://example.com/cgi-bin/mycgi.py 时,服务器将会将请求发送给名为 mycgi.py 的 CGI 程序,并将结果返回给客户端。
  • CGI 是一种比较老旧和低效的技术,不建议在生产环境中使用。现代的 Web 应用程序通常采用更快、更安全、更可靠的技术,如 WSGI(Web 服务器网关接口)或 ASGI(异步服务器网关接口)。
  • 默认目录 ['/cgi-bin', '/htbin']
mkdir  cgi-bin
cd cgi-bin
cat test.py <<<EOF
#!/usr/bin/env python3
import sys
print('200 OK\r\n\r\nfoo')
EOF
chmod u+x cgi-bin/test.py

测试

curl http://localhost:8080/cgi-bin/foo.py -X POST

另外一种方式重新post

import http.server
import socketserver

class MyHttpRequestHandler(http.server.SimpleHTTPRequestHandler):
    def do_POST(self):
        return self.do_GET()
with socketserver.TCPServer(("", 8081), MyHttpRequestHandler) as httpd:
    print("Http Server Serving at port", PORT)
    httpd.serve_forever()

启动服务

python3 server.py   
posted @ 2023-04-07 11:10  vx_guanchaoguo0  阅读(71)  评论(0编辑  收藏  举报