2017-01-26 3 views
-1

Ich habe einen Curl-Befehl, den ich kenne funktioniert. Ich habe versucht, es in Python zu übersetzen, aber es löst einen Fehler aus.Verwandle einen Curl-Aufruf zu Python-Anfragen

Insbesondere beschwert sich die Antwort, dass das Feld "Modell" nicht definiert wurde. Was ist der geeignete Weg, um die Formulardaten zu definieren?

curl:

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" 

Python:

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

Es würde helfen, wenn Sie auf den Fehlern präziser sind. – RobertB

+0

@RobertB Es ist nur ein Fehler von der API. 'b '{\ n" code ": 400, \ n" Fehler ":" Keine Sprache ausgewählt "\ n}'' –

Antwort

0

ich den Fehler festgestellt wurde auf die requests Bibliothek bezogen. Die Verwendung der Version 2.11.1 behebt dieses Problem.

auch die richtigen Form-Daten wie folgt aussehen:

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