2019-09-06 简易http

2019-09-29  本文已影响0人  水泥中的鱼

需求,简易服务器,能接受 get post,一般的

python2 -m SimpleHTTPServer 
python3 -m http.server

不能接收post请求,所以来了一个,抄的,有小改动

from http.server import HTTPServer, BaseHTTPRequestHandler

from io import BytesIO
import random

class SimpleHTTPRequestHandler(BaseHTTPRequestHandler):

    def do_GET(self):
        self.send_response(200)
        self.end_headers()
        self.wfile.write(b'Hello, world!')

    def do_POST(self):
        content_length = int(self.headers['Content-Length'])
        body = self.rfile.read(content_length)
        self.send_response(200)
        self.end_headers()
        response = BytesIO()
        response.write(b'This is POST request. ')
        response.write(b'Received: ')
        response.write(body)
        self.wfile.write(response.getvalue())
        print(response.getvalue())

port = random.randint(1025,65535)
print(port)
httpd = HTTPServer(('localhost', port), SimpleHTTPRequestHandler)
httpd.serve_forever()

refer
https://blog.anvileight.com/posts/simple-python-http-server/#do-post

上一篇下一篇

猜你喜欢

热点阅读