🐍
PythonのHTTPServer/SimpleHTTPRequestHandlerを使って簡易なhttp severを立てる
class ExampleHandler(SimpleHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header("Content-Type", "application/json")
self.end_headers()
self.wfile.write(json.dumps({"message": "ok"}).encode("utf-8"))
def do_POST(self):
self.send_response(200)
self.send_header("Content-Type", "application/json")
self.wfile.write(json.dumps({"message": "ok"}).encode("utf-8"))
self.end_headers()
...
server = HTTPServer(("", 0), ExampleHandler)
server.serve_forever()
これで GET
/POST
のリクエストに {"message": "ok"}
を返す簡易なhttp serverが起動する
サンプルだとポート指定して起動するサンプルが多いが、HTTPServer(("", 0), ExampleHandler)
こんな感じでport番号は0
を渡してあげると空いているポートで起動してくれる
hostとportを起動したいときは server_address
メソッドで取得できる
host, port = server.server_address
Discussion