我有这个cURL命令与我的API说话:
curl -i -H "Content-Type: application/json" -X POST -d '{"sid":"01234567","text":"TEST","tlf":"123456","ctc":"123456","opr":"XYZ","fbm":"email@email.com","flag":"XYZ","product":"XYZ"}' http://XXX.XXX.XXX.XXX:8080/todo/api/v1.0/tasks
哪种方法很完美,这里是回复:
HTTP/1.0 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 24
Server: Werkzeug/0.11.3 Python/2.6.6
Date: Wed, 07 Jun 2017 10:03:00 GMT
现在我想在同一个命令中发送一个pdf文件。
我想我添加:
"file":"/var/www/html/olotool/API/attachments/pdf-test.pdf"
最后但它被保存为字符串而不是文档。
如何在一个命令中添加它?
更新:
"file":"$(base64 ~/attachments/pdf-test.pdf)"
将结果更改为<type 'file'>
它还是一个字符串,但至少它的内容不是(base64 ~/attachments/pdf-test.pdf)
。
答案 0 :(得分:3)
以下是答案:
curl -i -F data='{"sid":"0123456","text":"TEST","tlf":"13245679","ctc":"123456","opr":"XXX","fbm":"mail@mail.com","flag":"XYZ","product":"XYZ"}' -F 'file=@/var/www/html/olotool/API/testpdf/test.pdf' http://XXX.XXX.XXX.XXX:8080/todo/api/v1.0/tasks
在API而不是request.json
上使用request.form
,然后使用data
将json.loads(data)
转换为json。
对于该文件,您需要使用request.file['files']
并且如果要使用file.read().encode("base64")
答案 1 :(得分:-2)
curl -X GET --header“ Accept:application / json”“ https://wsmipres.sispro.gov.co/WSMIPRESNOPBS/api/PrescripcionPaciente/900204617/2020-06-19/C68A900A-9FB9-46CB- B24B-4AB56E078600 / CC / 1098798857“