gpt4 book ai didi

python - 使用请求将 JSON 发送到 Flask

转载 作者:太空宇宙 更新时间:2023-11-03 12:17:08 25 4
gpt4 key购买 nike

我正在尝试使用请求库将一些 JSON 数据发送到 Flask 应用程序。我希望从服务器返回 application/json。这在我使用 Postman 时工作正常,但是当我使用请求时,我得到了 application/html

import requests
server_ip = 'server_ip:port/events'
headers = {'Content-Type': 'application/json'}
event_data = {'data_1': 75, 'data_2': -1, 'data_3': 47, 'data_4': 'SBY'}
server_return = requests.post(server_ip, headers=headers, data=event_data)
print server_return.headers
{'date': 'Fri, 05 Jun 2015 17:57:43 GMT', 'content-length': '192', 'content-type': 'text/html', 'server': 'Werkzeug/0.10.4 Python/2.7.3'}

为什么 Flask 不能看到 JSON 数据并正确响应?

最佳答案

您目前没有发送 JSON 数据。您需要设置 json 参数,而不是 data。在这种情况下没有必要自己设置content-type

r = requests.post(url, json=event_data)

您看到的 text/html header 是响应的 内容类型。 Flask 似乎正在向您发送一些 HTML,这似乎很正常。如果您希望返回 application/json,这可能是因为您没有正确发送 JSON 数据而返回的错误页面。

可以使用request.json读取Flask中的json数据。

from flask import request

@app.route('/events', methods=['POST'])
def events():
event_data = request.json

关于python - 使用请求将 JSON 发送到 Flask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30673079/

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