为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Python 发送 POST 请求

使用 Python 发送 POST 请求

拉丁的传说 2023-12-26 16:42:16
我正在尝试使用 Python 发布一个简单的 POST 请求,但收到意外的错误消息。文档示例如下:GET /configurations :获取配置列表参数:token(字符串)POST /configurations :发布新配置参数:token(字符串)、configName(字符串)、configParameters(数组)如果我尝试下面的代码,GET 请求就可以正常工作:parameters = 'token=' + tokenurl = base_url + '/configurations'response = requests.get(url, params=parameters)print(response.json())但是,如果我尝试使用下面的代码来处理 POST 请求,则会收到错误 401:“无效令牌”configName = 'test_create_config' + str(random.randint(0, 1000000))configParameters = [    {'parameter': 1, 'parameterValue': '1'},    {'parameter': 2, 'parameterValue': '0'}    ]body = {        'token': token,        'configName': configName,        'configParameters': configParameters    }url = base_url + '/configurations'response = requests.post(url, data=body)print(response.json())我确信我遗漏了一些东西,但我找不到什么,因为令牌与用于获取请求的令牌相同。
查看完整描述

1 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

根据您发布的 Swagger 文档,您传递的参数应该作为 URL 查询参数 - 而不是正文。

- in: query
  name: token
  description: Your token value.
  required: true  type: string

所以你应该将请求更改为:

response = requests.post(url, params=body)  # params are query parameters


查看完整回答
反对 回复 2023-12-26
  • 1 回答
  • 0 关注
  • 129 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信