将“curl F”转换为Python请求

2024-04-27 02:35:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试用python中的“requests”来上传多部分表单。我可以上传该文件,但它从不加载通常通过-F标志和curl传递的其他字段。我要模仿的curl命令:

curl -v -u user:password -X POST -F 'properties={"filename":"maurizio.png"}' -F "file=@maurizio.png" 192.168.59.103:8080/testdb/mybucket.files

请求代码是:

^{pr2}$

此文件被加载到用于mongodb的restheart api中。“_id”是数据库用来引用对象的特殊对象id。我需要在其他文档字段(如文件名)中指定该文档字段。该文件被上传到Mongo的名为gridfs的blob数据存储中。我可以使用curl上传数据和其他文档字段,但是上面的“requests”代码只上载数据,而不上载其他文档字段。我需要这些额外的字段来查询。在

有人能帮我把-F标志转换成与python的requests模块等效的东西吗?谢谢!在


Tags: 文件数据对象代码文档命令id表单
2条回答

查看example in the manual

files = {'file': ('report.xls', open('report.xls', 'rb'))}
r = requests.post(url, files=files)

注意,首先应该传递文件而不是数据(不需要read()文件的内容,只需要传递file对象)

顺便说一下,还有一个Github repository,它展示了使用Python访问RESTHeart的一些基本示例。在

我们的目标是展示如何使用Python和requests library进行简单的RESTful调用,请随意添加您的pull请求,添加更多的案例,或者查看一下现有的测试,如果它们可以帮助您的话。在

相关问题 更多 >