客户端及服务端_小贴吧==

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("<","&lt;")
        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 -

原文地址:https://www.cnblogs.com/jpr-ok/p/12666080.html