from http.server import HTTPServer,BaseHTTPRequestHandler
from http import cookies
from urllib.parse import parse_qs
form='''<!DOCTYPE html>
<title>小心,网站正在读取你的信息</title>
<p>
{}
</p>
<form method="POST">
<label>请输入年龄
<input type="text" name="yourage">
</label>
<br>
<button type="submit">傻乎乎的提交年龄</button>
</form>
'''
class ageHandler(BaseHTTPRequestHandler):
def do_POST(self):
length=int(self.headers.get('Content-length',0))
data=self.rfile.read(length).decode()
yourage=parse_qs(data)["yourage"][0]
c=cookies.SimpleCookie()
c['yourage']=yourage
c['yourage']['domain']='localhost'
c['yourage']['max-age']=60
self.send_response(303)
self.send_header('Location','/')
self.send_header('Set_Cookie',c['yourage'].OutputString())
self.end_headers()
def do_GET(self):
message="您好,请输入年龄!"
if 'cookie' in self.headers:
try:
c=cookies.SimpleCookie(self.headers['cookie'])
age=c['yourage'].value
if int(age) > 40:
message = "年龄大了"
elif int(age) > 25:
message = "年龄刚刚好"
else:
message = "好好学习"
except (KeyError, cookies.CookieError) as e:
message="好你了,别输入错误了"
print(e)
self.send_response(200)
self.send_header('Content-type','text/html;charset=utf-8')
self.end_headers()
mesg=form.format(message)
self.wfile.write(mesg.encode())
if __name__=='__main__':
server_address=('',9999)
httpd=HTTPServer(server_address,ageHandler)
httpd.serve_forever()
您好,感谢您对乐学偶得的支持!
您看看您的代码的这一行
看看能够解决哦~
加油!