Python do_POST发送200个响应,而不是303个响应
我不熟悉web服务器,我尝试使用python中的Python do_POST发送200个响应,而不是303个响应,python,http,post,get,response,Python,Http,Post,Get,Response,我不熟悉web服务器,我尝试使用python中的http.server模块构建一个简单的web服务器。我在一个显示表单的本地服务器上工作,通过提交此表单,它应该重定向以显示消息,因此我使用了send\u response(303),但它没有重定向到主页,而是发送了200个响应 从http.server导入HTTPServer,BaseHTTPRequestHandler 从urllib.parse导入parseqs 内存=[] 形式=''' 留言板 发帖! {} ''' 类MessageHan
http.server
模块构建一个简单的web服务器。我在一个显示表单的本地服务器上工作,通过提交此表单,它应该重定向以显示消息,因此我使用了send\u response(303)
,但它没有重定向到主页,而是发送了200个响应
从http.server导入HTTPServer,BaseHTTPRequestHandler
从urllib.parse导入parseqs
内存=[]
形式='''
留言板
发帖!
{}
'''
类MessageHandler(BaseHTTPRequestHandler):
def do_POST(自我):
#留言有多长时间?
length=int(self.headers.get('Content-length',0))
#从请求中读取正确数量的数据。
data=self.rfile.read(长度).decode()
#从请求数据中提取“消息”字段。
message=parse_qs(数据)[“message”][0]
#在消息中转义HTML标记,这样用户就不会破坏world+dog。
message=message.replace(“我想这是你想要的
这是通话记录
当您执行POST
时,它将返回303,当浏览器接收到它触发另一个GET
请求,服务器将以200响应该请求时您如何检查您的响应?默认情况下,大多数操作只会遵循重定向。运行此操作并提交只会在一个清晰的页面中显示我提交的消息
127.0.0.1 - - [26/Feb/2020 10:42:23] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [26/Feb/2020 10:42:23] "GET /favicon.ico HTTP/1.1" 200 -
127.0.0.1 - - [26/Feb/2020 10:42:39] "POST / HTTP/1.1" 303 -
127.0.0.1 - - [26/Feb/2020 10:42:39] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [26/Feb/2020 10:42:39] "GET /favicon.ico HTTP/1.1" 200 -