我需要进行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)
请注意,这不一定是您想要的,因为它将成为另一个表单数据部分。
问题内容: 我需要将JSON从客户端发布到服务器。我正在使用Python 2.7.1和simplejson。客户端正在使用请求。服务器是CherryPy。我可以从服务器获取硬编码的JSON(代码未显示),但是当我尝试将JSON POST到服务器时,出现“ 400 Bad Request”。 这是我的客户代码: 这是服务器代码。 有任何想法吗? 问题答案: 从Requests 2.4.2及更高版本开
我正在尝试在Spring Boot中使用WebClient制作API POST Request。但是我无法使用JSON正文发出我想要的请求并以JSONObject的形式接收响应。 JSON正文: 服务类别- 工作区模型- 主通话- 我需要发送一个JSON主体列表,作为主体post请求。请帮我做帖子请求提前谢谢
问题内容: 因此,我得到了以下内容,这些内容似乎难以置信,我一直在想自己Go的库设计得比此更好,但是我找不到Go处理JSON数据POST请求的示例。它们都是POST形式。 这是一个示例请求: 这是代码,其中嵌入了日志: 必须有更好的方法,对吗?我只是为寻找最佳实践而感到困惑。 (Go在搜索引擎中也被称为Golang,在这里提到它,以便其他人可以找到它。) 问题答案: 请使用代替。
我有一个Java动态web项目(部署在本地应用服务器Tomcat 7上),它使用Jersey创建REST API。 我不使用任何构建自动化工具(所以我的库被添加到构建路径中,servlet被插入到web.xml文件中)。 我正在使用的库包括: 我的web.xml如下: 应用程序正在与MySQL数据库交互。场景如下:数据库包含一个名为user的用户帐户表。列是id、name、username和密码。
我试图复制下面的POST请求使用Python中的请求模块: 请求文档建议使用files参数。 当我尝试以下呼叫: 我得到以下HTTP请求: 我还尝试使用数据参数: 导致以下HTTP请求: 我遇到的问题是,使用files参数会导致服务器无法识别调用,可能是由于HTTP请求中发送了意外的“filename”信息。使用数据参数发送错误的内容类型标题。 已知第一个请求正在我希望将请求发送到的服务器上工作-
问题内容: 因此,根据jQuery Ajax文档 ,它在发送请求时以查询字符串的形式序列化数据,但是设置应允许我在正文中发送实际的JSON。不幸的是,我很难首先确定是否发生这种情况,其次是将对象的外观发送给服务器。我所知道的是服务器未解析我正在发送的内容。 使用http客户端发布对象文字时,它可以工作。但是当将jQuery与结合使用时,它将失败。不幸的是,当我在Safari中分析请求时,它说消息的