Я получил это из речи IBM Watson в текстовые документы, чтобы отправить аудиофайл для обработки:
curl -X POST -u <username>:<password>
--header "Content-Type: audio/flac"--header "Transfer-Encoding: chunked"--data-binary @<path>0001.flac
"https://stream.watsonplatform.net/speech-to-text/api/v1/recognize?continuous=true"
Но как мне встроить это в PHP cURL? Что-то вроде этого?
$headr = array();
$headr[] = 'Content-Type: audio/flac';
$headr[] = 'Transfer-Encoding: chunked';
...
$crl = curl_init('https://stream.watsonplatform.net/speech-to-text/api');
curl_setopt($crl, CURLOPT_POST, 1);
curl_setopt($crl, CURLOPT_POSTFIELDS, array("username:password"=>"myuser:mypassword","data-binary"=>"@<path>0001.flac"));
curl_setopt($crl, CURLOPT_HTTPHEADER, $headr);
А как насчет -x и -u?
-X POST уже установлен, когда вы сделали это
curl_setopt($crl, CURLOPT_POST, 1);
что касается -u, вы можете использовать это, не включайте имя пользователя: пароль в ваш массив полей сообщений.
curl_setopt($crl, CURLOPT_USERPWD, "yourusername:yourpassword");
для использования —data-binary уже существует сообщение о стеке потока о том, как это сделать с помощью php curl: двоичный параметр данных в cURL
Других решений пока нет …