2017-01-26 4 views
-1

У меня есть команда curl, которую я знаю, работает. Я попытался перевести его на python, но он вызывает ошибку.Преобразование вызова curl для запросов python

В частности, ответ жалуется, что поле «модель» не определено. Каким образом можно определить данные формы?

локон:

curl \ 
    -F [email protected]_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) 
+0

Это помогло бы, если бы вы были более конкретными по ошибке. – RobertB

+0

@RobertB Это просто ошибка API. 'b '{\ n" code ": 400, \ n" error ":" Язык не выбран "\ n}'' –

ответ

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') 
} 
Смежные вопросы