Python请求:在单个请求中发布JSON和文件

奥兹努

我需要进行API调用,以上传文件以及包含有关文件详细信息的JSON字符串。

我正在尝试使用python请求库来执行此操作:

import requests

info = {
    'var1' : 'this',
    'var2'  : 'that',
}

data = json.dumps({
    'token' : auth_token,
    'info'  : info,
})

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

files = {'document': open('file_name.pdf', 'rb')}

r = requests.post(url, files=files, data=data, headers=headers)

这将引发以下错误:

    raise ValueError("Data must not be a string.")
 ValueError: Data must not be a string

如果我从请求中删除“文件”,则它可以工作。
如果我从请求中删除了“数据”,它将起作用。
如果我不将数据编码为JSON,它将起作用。

因此,我认为错误与在同一请求中发送JSON数据和文件有关。

关于如何使它工作的任何想法?

蛋白质

不要使用json进行编码。

import requests

info = {
    'var1' : 'this',
    'var2'  : 'that',
}

data = {
    'token' : auth_token,
    'info'  : info,
}

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

files = {'document': open('file_name.pdf', 'rb')}

r = requests.post(url, files=files, data=data, headers=headers)

请注意,这不一定是您想要的,因为它将成为另一个表单数据部分。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Python请求在单个请求中发送文件和JSON

来自分类Dev

使用Active Collab API在单个请求中发布多个文件:

来自分类Dev

Djangorestframework:在单个请求中发布嵌套json对象的示例?

来自分类Dev

在单个请求中发布或放置多个项目

来自分类Dev

在发布请求中发送多个文件

来自分类Dev

python发布请求json

来自分类Dev

如何在Android中发布JSON请求

来自分类Dev

在 python 请求中发布数据时出错

来自分类Dev

请求模块的json和文件属性

来自分类Dev

Python请求:1个单一请求中的POST JSON和文件(多种数据)

来自分类Dev

在ajax请求中发布变量

来自分类Dev

在 Rails 5 中发布请求

来自分类Dev

在相同的AJAX请求中发布文件和对象

来自分类Dev

python将多个json请求合并到单个文件并保存

来自分类Dev

如何在Jersey-Test中发布JSON请求

来自分类Dev

如何使用JSON正文在Java中发送发布请求

来自分类Dev

如何在单个请求中发送多个JSON(Jmeter)

来自分类Dev

如何在python中发出发布请求

来自分类Dev

单击Javascript链接以在Python中发出发布请求

来自分类Dev

使用GraphQL正文在python3中发布请求

来自分类Dev

python:在请求正文中发布键/值对

来自分类Dev

无法使用python请求发布文件+数据

来自分类Dev

Python请求发布clyp.it上传文件

来自分类Dev

在单个请求中发布多个相关实体的正确JSONAPI方法是什么?

来自分类Dev

Python-如何从两列.txt文件中发布具有循环/读取值(有效负载)的请求?

来自分类Dev

使用python发送JSON发布请求

来自分类Dev

春季:同一请求中的JSON数据和文件

来自分类Dev

快速发布json请求

来自分类Dev

使用多级对象在javascript中发布请求

Related 相关文章

热门标签

归档