下面是详细信息:
我们想要用Pythonv2.6.5编写一个web服务器,并且已经完成了do_GET方法。
但是我不知道如何编写do_POST()方法。
如果post请求如下所示:
POST /employee/111 HTTP/1.1
Content-Type: application/json
Content-Length: XX
{"name": "John"}如何在do_POST()方法中获取JSON数据{"name": "John"}?(首选标准库)
如果您能说明原因并提供样品,我们将不胜感激。
谢谢!
发布于 2011-04-15 15:46:21
使用cgi.FieldStorage类将数据处理为可从POST获得的表单数据。当你去的时候,这是文章的主体部分,在你的例子中是json格式。
def do_POST(self):
    # Parse the form data posted
    form = cgi.FieldStorage(
        fp=self.rfile, 
        headers=self.headers,
        environ={'REQUEST_METHOD':'POST',
                 'CONTENT_TYPE':self.headers['Content-Type'],
                 })下面的an example演示了如何做到这一点
如果内容是合适的json,使用标准库中的json模块加载到json格式,您可以进一步处理它。
>>> import json
>>> s = '{"name": "john"}'
>>> d = json.loads(s)https://stackoverflow.com/questions/5673524
复制相似问题