1.小贴吧前后端代码:
from http.server import HTTPServer, BaseHTTPRequestHandler from urllib.parse import parse_qs memary=[] form='''<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>威廉的测试小论坛</title> <form method="POST"> <textarea name="message"></textarea> <br> <button type="submit">按我发布帖子</button> </form> </head> <body> </body> </html> ''' class Handler(BaseHTTPRequestHandler): def do_POST(self): length=int(self.headers.get('Content-length',0)) data=self.rfile.read(length).decode() message=parse_qs(data)["message"][0] message=message.replace("<","<") memary.append(message) self.send_response(303) self.send_header('Location','/') self.end_headers() def do_GET(self): self.send_response(200) self.send_header('Content_type','text/plain;charset=utf-8') self.end_headers() msg=form.format(" ".join(memary)) self.wfile.write(msg.encode()) if __name__=='__main__': server_address=('',9995) httpd=HTTPServer(server_address,Handler) httpd.serve_forever()
2.运行
(base) localhost:html ligaijiang$ python3 tieba.py
3.结果
待解决问题:发帖后没有显示到屏幕上
(base) localhost:html ligaijiang$ python3 tieba.py 127.0.0.1 - - [09/Apr/2020 12:23:44] "GET / HTTP/1.1" 200 - 127.0.0.1 - - [09/Apr/2020 12:24:05] "POST / HTTP/1.1" 303 - 127.0.0.1 - - [09/Apr/2020 12:24:05] "GET / HTTP/1.1" 200 -