【发布时间】:2014-10-10 07:35:24
【问题描述】:
我正在考虑使用Python Requests library 将 mp3 发布到 api,但文档中发布文件的所有示例都是针对文本文件的。是否可以将此库用于音频?
【问题讨论】:
标签: python rest python-requests
我正在考虑使用Python Requests library 将 mp3 发布到 api,但文档中发布文件的所有示例都是针对文本文件的。是否可以将此库用于音频?
【问题讨论】:
标签: python rest python-requests
是的,可以使用库发送任何字节序列:
with open(audiofile, 'rb') as fobj:
requests.post(url, files={'fieldname': fobj})
实际上,requests 文档中的first multipart-encoded file example 发布了一个二进制文件:
>>> url = 'http://httpbin.org/post'
>>> files = {'file': open('report.xls', 'rb')}
>>> r = requests.post(url, files=files)
>>> r.text
{
...
"files": {
"file": "<censored...binary...data>"
},
...
}
【讨论】:
files={'fieldname', fobj}应该是files={'fieldname': fobj}。否则会出现ValueError: too many values to unpack (expected 2) 错误。