python - 在 post 请求 python 中传递 json 以提交文件
问题描述
我正在尝试使用 Python 在 post 请求中传递 JSON。下面是代码
from urllib2 import Request, urlopen
values = """[{"n": "MyApexClass","r": false,"t": "ApexClass"},{"n": "SysAdmin","r": false,"t": "Profile"}]"""
request = Request('https://copado.herokuapp.com/json/v1/webhook/'
'commitFiles/user_story_idapi_key=user_api_key&commitMessage=commitMessage', data=values)
response_body = urlopen(request).read()
print response_body
但我得到以下错误
{"error":"Malformed payload, could not parse metadata json!!!"}
请帮我。
解决方案
尝试使用值而不是字符串,用作 python 对象
values = [
{"n": "MyApexClass", "r": False, "t": "ApexClass"},
{"n": "SysAdmin", "r": False, "t": "Profile"}
]
values = json.dumps(values).encode('utf8')
req = Request(your_url, data=values,
headers={'content-type': 'application/json'})
推荐阅读
- javascript - React Hooks - 使用 lodash 的 deepCopy 不会导致重新渲染
- phpmyadmin - 基于主机的身份验证中 '%' 的 phpMyAdmin 用户名通配符
- java - 如何使用流 API 过滤连续元素?
- ms-access - Microsoft Access 创建隐藏表单
- node.js - 尽管有字段,但MongoDB查询结果为空
- c# - 如何同时运行许多异步方法?
- javascript - 如何在 obj 中使用 for 循环?
- powerbi-embedded - 有人知道如何从 PowerBi Embeded v2 升级到 v3 吗?还是 v3 的教程?
- python - Python中for语句中的“aa”是做什么的?
- c# - 单击WPF Caliburn.Micro中的按钮时无法在DataGrid中全选