# -*- coding: utf-8 -*- import socket import threading def handle_client(conn, addr): try: data = conn.recv(8192) if data: lines = data.split("\r\n") if lines: method, path, _ = lines[0].split() print("[%s:%d] %s %s" % (addr[0], addr[1], method, path)) response = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nContent-Length: 48\r\n\r\nHello from test server!" conn.sendall(response) finally: conn.close() def main(): server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) server.bind(('127.0.0.1', 8888)) server.listen(5) print("Test server running on 127.0.0.1:8888") while True: conn, addr = server.accept() t = threading.Thread(target=handle_client, args=(conn, addr)) t.daemon = True t.start() if __name__ == "__main__": main()