python - 在post请求python中传递json以提交文件

标签 python json post python-2.x

我正在尝试使用 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'})

关于python - 在post请求python中传递json以提交文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53480081/

相关文章:

python - 从 Python 代码创建 C 库

python - 获取给定年份范围内的年计数

python - 在 Python 中共享存储在更高目录中的模块和类的最佳实践

Python - 从另一个列表中删除一组列表

java - 使用 jackson 映射时如何适本地覆盖 equals(Object o)

javascript - 从集合中获取json以在backbone.js中查看

java - 将 HTTP "_method" header 传递给 matlab 中的 urlread2 函数

python - Flask 400 错误请求、错误版本、错误语法

php - 如何通过 PHP 将 HTTP post 中的二进制内容上传到 MYSQL 数据库而不使用 PHP 的文件处理函数?

javascript - 从数据库中提取 javascript 代码,通过 jquery 插入它