Python 为什么来自web服务的POST方法拒绝我的json数据?
我想使用flask库在python中构建一个web服务,但一开始就遇到了困难。我成功地使用了Get方法,但是我的POST方法遇到了一些问题。我遇到的问题是,当我使用POST方法发送Json数据时,我的程序崩溃并出现以下错误:“ConnectionResetError:[WinError 10054]远程主机强制关闭了现有连接 在处理上述异常期间,发生了另一个异常:” 如果我发送没有数据的请求,一切正常 下面是来自服务器的方法POST的代码。我把它保持在基本状态,这样我可以更容易地发现错误Python 为什么来自web服务的POST方法拒绝我的json数据?,python,json,flask,Python,Json,Flask,我想使用flask库在python中构建一个web服务,但一开始就遇到了困难。我成功地使用了Get方法,但是我的POST方法遇到了一些问题。我遇到的问题是,当我使用POST方法发送Json数据时,我的程序崩溃并出现以下错误:“ConnectionResetError:[WinError 10054]远程主机强制关闭了现有连接 在处理上述异常期间,发生了另一个异常:” 如果我发送没有数据的请求,一切正常 下面是来自服务器的方法POST的代码。我把它保持在基本状态,这样我可以更容易地发现错误 cla
class End_Point(Resource):
def POST(self):
return 1
api.add_resource(End_Point,'/end_point')
以下是我如何提出导致程序崩溃的请求:
url = 'http://127.0.0.1:5000/end_point'
response = requests.post(url, data=json.dumps("123"), headers=headers)
您知道我做错了什么吗?您需要将其作为对象/字典发送,以便您可以通过服务器上的名称实际访问该值 服务器:
from flask import Flask, request
from flask_restful import Resource, Api, reqparse
app = Flask(__name__)
api = Api(app)
parser = reqparse.RequestParser()
parser.add_argument('mynum', type=int, help='mynum is a number')
class EndPoint(Resource):
def post(self):
args = parser.parse_args()
return {"status": "ok", "mynum": args['mynum']}
api.add_resource(EndPoint, '/end_point')
if __name__ == '__main__':
app.run(debug=True)
客户:
import requests
import json
headers = {'content-type': 'application/json'}
url = 'http://localhost:5000/end_point'
response = requests.post(url, data=json.dumps(dict(mynum=123)), headers=headers)
print('response', response.text)
您需要将其作为对象/字典发送,以便可以通过服务器上的名称实际访问该值 服务器:
from flask import Flask, request
from flask_restful import Resource, Api, reqparse
app = Flask(__name__)
api = Api(app)
parser = reqparse.RequestParser()
parser.add_argument('mynum', type=int, help='mynum is a number')
class EndPoint(Resource):
def post(self):
args = parser.parse_args()
return {"status": "ok", "mynum": args['mynum']}
api.add_resource(EndPoint, '/end_point')
if __name__ == '__main__':
app.run(debug=True)
客户:
import requests
import json
headers = {'content-type': 'application/json'}
url = 'http://localhost:5000/end_point'
response = requests.post(url, data=json.dumps(dict(mynum=123)), headers=headers)
print('response', response.text)
我仍然会犯同样的错误。难道我在代码中的其他地方出错了吗?我忘了发布我的标题:“headers={'content-type':'application/json'}”该死!你的有效:)我会马上去看看有什么问题。非常感谢,祝你度过愉快的一天:我仍然会遇到同样的错误。难道我在代码中的其他地方出错了吗?我忘了发布我的标题:“headers={'content-type':'application/json'}”该死!你的有效:)我会马上去看看有什么问题。非常感谢,祝你今天愉快:D