[英]How to convert python3 post request with both files and params to curl
我有python3
脚本,可以将图像正确上传到站点,并且我想通过curl
命令执行完全相同的操作。
import requests
url = 'http://1.2.3.4/upload'
files = {'image': open('foo.jpg', 'rb')}
params = {'bar': 'baz'}
requests.post(url, files=files, params=params)
# incorrect
curl -XPOST -F 'image=foo.jpg' -d 'bar=baz' 'http://1.2.3.4/upload'
我希望这样的命令将使用param baz
上传foo.jpg
,但是当指定-d
时, -F
似乎会被curl
忽略。
我想要指定文件名的curl
,而不是像curlify
库那样在命令中包含整个文件数据。
-F
和-d
,前者会覆盖后者, @
符号, -F
表示-X POST
,当使用它时,所有数据都作为表单数据发送,因此bar=baz
不会像-G
和-d
一样附加到URL上,您需要手动附加它。 curl -F 'image=@foo.jpg' 'http://1.2.3.4/upload?bar=baz'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.