【发布时间】:2020-06-27 00:54:57
【问题描述】:
我在服务器端有这个代码
from flask import Flask, request, jsonify
app=Flask(__name__)
@app.route("/pingtest")
def pingtest():
return "Pong!"
@app.route("/registrar_alumno", methods=["POST"])
def registrar_alumno():
print(request.json)
return jsonify(request.json)
app.run(debug=True,port=4000)
在客户端我有这个代码
import requests
r=requests.post("http://127.0.0.1:4000/registrar_alumno",
data={"test":"hello there"})
print(r.text)
我希望在双方都获得 {"test":"hello there"} 但我在服务器上有这个:
(支持)PS C:\Users\Alumno\Desktop\Proyectos\py\gestion_academica\asistencias> 蟒蛇.\server.py [...](服务器始终显示的无关消息)
无 #...(这应该是 print(request.json) 指令)
127.0.0.1 - - [15/Mar/2020 16:22:45] "←[37mPOST /registrar_alumno HTTP/1.1←[0m" 200 -
这个在客户端
(支持)PS C:\Users\Alumno\Desktop\Proyectos\py\gestion_academica\asistencias> python .\testclient.py
无
我不知道这是什么问题,我希望有人能帮助我找到错误
【问题讨论】:
-
对不起,在客户端下面获取“null”而不是None
-
我尝试了客户端 requests.post 函数:headers={"Content-Type":"application/json"} 但现在我有一个错误:
无法解码 JSON 对象:期望值: 第 1 行第 1 列 (char 0)
-
这里的格式使它有点难以阅读。您能否发布更多来自客户端和服务器的响应并使用 ``` 格式化?另外,您的 POST 请求确实生成了 200(成功响应)?
-
@JosefacundoBogado,您不能只传递标头,数据需要正确编码。使用
json参数而不是data。 -
谢谢,我知道这是一个愚蠢的问题,但由于某种原因,当我阅读了请求的文档时,我没有注意到这一点
标签: python json rest api flask