我尝试从Python向flask应用程序发送一个简单的表单,请求如下:
r = requests.post('http://x.x.x.x/Files',data = {
'FileName': filename,
'Mode' : 'Add'
})
flask app是这样处理的:
api.add_resource(GetFiles, '/Files')
class GetFiles(Resource):
def post(self):
args = ParseArgs.parse_args()
if '.txt' not in args['FileName']:
FileName = f'{args["FileName"]}.txt'
else:
FileName = args['FileName']
但我不明白为什么我的每一个请求都得到这样的回应:{ "message": "Did not attempt to load JSON data because the request Content-Type was not 'application/json'." }
我尝试将application-json设置为content-type,但结果如下:{ "message": "Failed to decode JSON object: Expecting value: line 1 column 1 (char 0)" }
事实上,这没有多大意义,因为我提交了一个表单,但至少我尝试了。
我真的不明白为什么,我已经使用这个应用程序几次了,以前从来没有,我不知道这是否是由于新的flask更新,因为我刚刚搬到另一个服务器,我使用的是docker容器。
先谢谢你的帮助。
1条答案
按热度按时间tf7tbtn21#
如果你在request中使用数据,头部将以form/data的形式发送。如果你想以application/json的形式发送,你必须使用json=