gpt4 book ai didi

python - json数据是如何发布的?

转载 作者:可可西里 更新时间:2023-11-01 16:51:48 24 4
gpt4 key购买 nike

我的 flask代码如下:

@app.route('/sheets/api',methods=["POST"])
def insert():
if request.get_json():
return "<h1>Works! </h1>"
else:
return "<h1>Does not work.</h1>"

当请求是:

POST /sheets/api HTTP/1.1
Host: localhost:10080
Cache-Control: no-cache

{'key':'value'}

结果是<h1>Does not work.</h1> .

当我添加 Content-Type header :

POST /sheets/api HTTP/1.1
Host: localhost:10080
Content-Type: application/json
Cache-Control: no-cache

{'key':'value'}

我收到 400 错误。

我做错了什么?

最佳答案

您没有发布有效的 JSON。 JSON 字符串使用 引号:

{"key":"value"}

带单引号的字符串不是有效的 JSON,返回一个 400 Bad Request 响应。

针对仅实现您的路由的本地 Flask 服务器的演示:

>>> import requests
>>> requests.post('http://localhost:5000/sheets/api', data="{'key':'value'}", headers={'content-type': 'application/json'}).text
'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">\n<title>400 Bad Request</title>\n<h1>Bad Request</h1>\n<p>The browser (or proxy) sent a request that this server could not understand.</p>\n'
>>> requests.post('http://localhost:5000/sheets/api', data='{"key":"value"}', headers={'content-type': 'application/json'}).text
'<h1>Works! </h1>'

关于python - json数据是如何发布的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34702372/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com