Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python do_POST发送200个响应,而不是303个响应_Python_Http_Post_Get_Response - Fatal编程技术网

Python do_POST发送200个响应,而不是303个响应

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

我不熟悉web服务器,我尝试使用python中的
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 -