使python通过web接受json

2024-09-22 16:26:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个web服务器,可以在上面运行python,如下所示:

import os
from urllib.parse import parse_qsl

def main():
    thestring = os.environ["QUERY_STRING"]
    parameter_dict = dict(parse_qsl(thestring))
    print(parameter_dict)

print("Content-Type: text/plain")
print("")
main()

如果我击中是这样:http://127.0.0.1/web.py?hello=world 我要一份不错的小杂烩:

{'hello': 'world'}

这对我来说很有效。现在我要做的是让这个Web服务器接受json输入

我用这段代码在URL上“抛出”json

body = {
    "username":"user1",
    "folder":"folder1"
}

req = urllib.request.Request("http://127.0.0.1/web.py")
req.add_header('Content-Type', 'application/json; charset=utf-8')
jsondata = json.dumps(body)
jsondataasbytes = jsondata.encode('utf-8')   # needs to be bytes
req.add_header('Content-Length', len(jsondataasbytes))
response = urllib.request.urlopen(req, jsondataasbytes)
content = json.loads(response.read().decode("utf-8"))
print(content)

但是我需要在代码的顶部做什么才能让web.py“接受”json并能够使用它呢?理想情况下,只需将json放到dict中,我敢打赌这只是一个非常简单的东西,我只是缺少一个基本的命令。提前谢谢


Tags: pyimport服务器webjsonparseoscontent