首页 > 解决方案 > Flask 表单 POST 请求无法处理数据

问题描述

我正在尝试为我创建的用户管理系统执行表单发布请求。我在烧瓶后端服务器上启用了会话。

该请求是用户的个人资料更新,我有两个条件可以执行

1-当用户登录时

2- 用户登出。

当用户登录时,我能够成功地提出更新请求。

但是当用户退出时,API 并不一致。当我发送 10 个带有文件对象的文本参数时

案例1-当我向服务器发送文本 <6 参数时,它显示用户已注销,请再次登录。

案例 2- 当我尝试使用文件对象发送所有 10 个参数时,我在邮递员上收到一条消息,说“无法从服务器获得任何消息”

弹出会话数据时(用户注销)请求是否无法处理数据?与更少的参数一样,我至少可以得到我用后端烧瓶配置的错误消息。

下面是我用来向服务器发出请求的代码。无论是在用户登录或注销时

import requests

url = "url/profileupdates"

payload = {'username': 'testingprofile',
'password': 'rhythmtesting_ch',
'email': 'vikas@ch.com',
'user_mobile': 'change',
'user_health': 'testing',
'age': 'testing',
'emergency_contact': 'emergency'}
files = [
  ('file', open('/Users/vikasnair/Downloads/E8E4FCC5-9BB7-4530-864B-B662E9884636.jpeg','rb'))
]
headers = {
  'Cookie': 'session=.eJxdzsEKwjAMBuB3yVm8znryTUps4xZoUmk6pIjvbrddyv5b8v2BfMHIjLN6EuQEd4irPGJr15AFLoNSmUlD8yFrxVB7c9ozlCQ_OVEXt2eQN5p9condMArrQKtR8ThvZzd33i-EqS6dXqx0QkWh419p2-zg9wcu90hp.Xqe8zw.z8706Z3t8OUhANpAzcanQyQfBnI'
}

response = requests.request("POST", url, headers=headers, data = payload, files = files)

print(response.text.encode('utf8'))

当我尝试发送更少的参数时,以下代码有效

import requests

url = "url/profileupdates"

payload = {'username': 'testingprofile',
'password': 'rhythmtesting_ch',
'email': 'vikas@ch.com',
'user_mobile': 'change'}
files = [

]
headers = {
  'Cookie': 'session=.eJxdzsEKwjAMBuB3yVm8znryTUps4xZoUmk6pIjvbrddyv5b8v2BfMHIjLN6EuQEd4irPGJr15AFLoNSmUlD8yFrxVB7c9ozlCQ_OVEXt2eQN5p9condMArrQKtR8ThvZzd33i-EqS6dXqx0QkWh419p2-zg9wcu90hp.Xqe8zw.z8706Z3t8OUhANpAzcanQyQfBnI'
}

response = requests.request("POST", url, headers=headers, data = payload, files = files)

print(response.text.encode('utf8'))

标签: pythonflaskrequestmultipartform-datarequest-timed-out

解决方案


尝试使用

headers = { 'Content-Type': 'multipart/form-data' }


推荐阅读