OhM*_*Mad 16 python windows json curl flask
我在烧瓶中设置了一个非常简单的邮政路线:
from flask import Flask, request
app = Flask(__name__)
@app.route('/post', methods=['POST'])
def post_route():
if request.method == 'POST':
data = request.get_json()
print('Data Received: "{data}"'.format(data=data))
return "Request Processed.\n"
app.run()
Run Code Online (Sandbox Code Playgroud)
这是我尝试从命令行发送的curl请求:
curl localhost:5000/post -d '{"foo": "bar"}'
Run Code Online (Sandbox Code Playgroud)
但仍然打印出"收到的数据:"无"".所以,它无法识别我传递的JSON.
在这种情况下是否有必要指定json格式?
ran*_*mir 15
根据get_json文件:
None如果mimetype不是,[..]函数将返回,application/json但force参数可以覆盖它.
因此,要么指定传入请求的mimetype为application/json:
curl localhost:5000/post -d '{"foo": "bar"}' -H 'Content-Type: application/json'
Run Code Online (Sandbox Code Playgroud)
或强制JSON解码force=True:
data = request.get_json(force=True)
Run Code Online (Sandbox Code Playgroud)
如果在Windows上运行它(cmd.exe而不是PowerShell),您还需要更改JSON数据的引用,从单引号到双引号:
curl localhost:5000/post -d "{\"foo\": \"bar\"}" -H 'Content-Type: application/json'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13767 次 |
| 最近记录: |