将curl调用转换为python请求

时间:2017-01-26 17:41:29

标签: python curl python-requests

我有一个我知道有效的卷曲命令。我已经尝试将它翻译成python,但它引发了一个错误。

具体来说,响应抱怨“模型”字段尚未定义。定义表单数据的适当方法是什么?

卷曲:

curl \
    -F data_file=@my_audio_file.mp3 \
    -F model=en-US \
    -F 'notification=callback' \
    -F 'callback=http://your_url.com/transcript_callback'
    "https://api.speechmatics.com/v1.0/user/123/jobs/?auth_token=ABC"

蟒:

files = {
    'data_file': open('my_audio_file.mp3', 'rb'),
    'model': 'en-US',
    'notification': 'callback',
    'callback': 'http://your_url.com/transcript_callback'
}
requests.post('https://api.speechmatics.com/v1.0/user/123/jobs/?auth_token=ABC', files=files)

1 个答案:

答案 0 :(得分:0)

我确定错误与requests库有关。使用版本2.11.1可以解决此问题。

同样正确的表单数据如下:

files = {
    'data_file': open('my_audio_file.mp3', 'rb'),
    'model': ('', 'en-US'),
    'notification': ('', 'callback'),
    'callback': ('', 'http://your_url.com/transcript_callback')
}