我想上传一个音频文件到clyp.it网络服务。这里描述的API:http://clyp.it/api。相关摘录如下:Python请求发布clyp.it上传文件
Uploads are done via a multipart/form-data POST. Consider the following form:
<form action="http://upload.clyp.it/upload" enctype="multipart/form-data" method="post">
<input type="file" name="audioFile">
<input type="submit" value="Send to Clyp">
</form>
It will create a request that looks like this:
POST http://upload.clyp.it/upload HTTP/1.1
Host: upload.clyp.it
Connection: keep-alive
Content-Type: multipart/form-data; boundary=---------------------------21632794128452
Content-Length: 5005
-----------------------------21632794128452
Content-Disposition: form-data; name="audioFile"; filename="MyAudioFile.mp3"
Content-Type: audio/mpeg
(Audio file data goes here)
我能够通过创建一个html文件,并在上面的表单块中上传文件。我希望能够通过python上传这个文件。我一直在努力这样做,使用“请求”模块()
我已经试过这样:
clyp_file_upload_url = 'https://upload.clyp.it/upload'
music_mp3 = open('/home/jinal/Downloads/music.mp3', 'rb')
send_files = {'audioFile':music_mp3}
r = requests.post(clyp_file_upload_url, files=send_files)
print(r.status_code)
它返回一个通用的500错误。我怀疑我没有正确构建发布请求。我应该怎么做?
它的工作原理!谢谢。它需要你说的内容类型。 – 2014-09-10 14:45:18