Вверх ↑
Ответов: 4612
Рейтинг: 746
#1: 2019-03-07 16:08:22 ЛС | профиль | цитата
1) В свойствах POSTParams.FileField и POSTParams.POSTData указана какая-то фигня.
2) Сам говорил, что сервис хочет *.ogg, а отправляешь *.wav

Для multipart/form-data имеет важное значение POSTParams.FileField. Если имя этого поля не расписано в документации к сервису - делаем вывод что сервис не принимает ничего кроме "Transfer-Encoding: chunked".
Следовательно, пробуем реализвать это: добавляешь заголовок "Transfer-Encoding: chunked", ставишь POSTParams.EncType=None, а файл *.ogg, сконвертированный в строку, подавай на точку POSTData.

Хотя, "Transfer-Encoding: chunked" требует иного формата тела запроса, так что может не проканать.
https://ru.wikipedia.org/wiki/Chunked_transfer_encoding
Думаю, несложно реализовать. POSTData должно быть:
<размер файла в HEX>\r\n<файл, сконв. в строку>\r\n0\r\n\r\n


Пробуй. Файл "MySound.ogg" должен лежать в папке с программой:
Add(HTTPClient,7935507,777,392)
{
URL="https://stt.api.cloud.yandex.net/speech/v1/stt:recognize/?lang=ru-RU&folderId=b1gus2fv73rl9vr9dbov&format=lpcm&sampleRateHertz=48000"
Method=1
UserAgent="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.8d Safari/537.36"
Referer="https://stt.api.cloud.yandex.net/speech/v1/stt:recognize/?lang=ru-RU&folderId={b1gus2fv73rl9vr9dbov}&format=oggopus"
Headers="Authorization: Bearer CggaATEVAgAAABKABLQ_PC58AFs1V2dX6ZQqFwhvLCVekKbGYO8geWsOAWbNDl2ZHMrztY3n_Oowpg4E26tGUSK5M5j3P5JLK-T2Ws_XGim4rKqGZ-udiZNurGjUcw2bubsy8yVl9ydCoGDlIlP540J_oTfIdiS4uHUbI5clRUUiGzjnZ9CBx7sKH982idU0QVZUc-mxH9xOZP8pcROyJA59fTVcFQvqRNjCg_Z_QIuDx6ErdK33pxX5g-iXIQIQJ2DU6ImBsW0WjKowF_IH8O332nCX_7DSy5D9y4HEmK2wtcJyr8TPyTFXwxD1VbNtCs4gakEACBMog5MitXYMr5hLSBKO21t4Kkg0KCv2yF1wdsggtFqfvxmVW7kmv7deYG__IGNrKYjsbiizlBd9v7r4KzMJbMhDl8K6a5qR4kR18WNomrMllczciZfq71Fc8mMSI6RaPMt-HDQgWM9AJZXlamSh-MGrm80tnM0kEEP0xx68BthktebsttF2SNuE1RaBBfCHiDW6XwpUBO0qneJB_j_DcD7EGYqgcWta3xcfN_22kqt5HB5hZegw5_bpSiri1YcqEdHeEJXyUTT1NdNtOmruhwcR6L0tHVSa9Y-Yi8R2Ib8z2mOMvwGUQnun8HDlyLItN8CRUwNPDs_uoJB7ZZ_kEtWapbfm8ahY7gr1w4Nj8a6OoZ362RlQGmEKIDc0YTgyMTNmOGY4YzRhNzJhMDE3ODYzN2M5N2U5YzUxEKG9g-QFGOGOhuQFIh8KFGFqZTlqbHY5M3UxdDVmNWE0M3QzEgdlZ29yaGF5WgAwAjgBSggaATEVAgAAAFABIPAE\r\nTransfer-Encoding: chunked"
AutoRedirect=0
EncType=2
Boundary=""
Point(UploadFile)
Point(PostData)
Point(RawHeaders)
link(onHeadersAvail,6996692:doData,[])
link(onFinish,12949171:doEvent2,[])
link(PostData,13359158:Result,[(804,380)(744,380)(744,436)(685,436)])
}
Add(Memo,13284783,1001,392)
{
Left=15
Top=50
Width=360
Height=180
ScrollBars=2
}
Add(DoData,6996692,854,392)
{
link(onEventData,12949171:doEvent1,[])
link(Data,2827459:getVar,[])
}
Add(Hub,12949171,910,392)
{
InCount=2
OutCount=1
link(onEvent1,2504412:doCharset,[])
}
Add(LineBreakEx,2827459,854,364)
{
Caption="head"
Type=2
}
Add(LineBreakEx,15257747,791,441)
{
Caption="head"
Type=3
link(_Data,7935507:ContentType,[])
}
Add(MainForm,5125131,287,175)
{
Height=274
Point(Handle)
}
Add(Button,8623319,133,385)
{
Left=195
Top=15
Width=85
Caption="Отправить"
link(onClick,14137739:doOpen,[])
}
Add(Edit,15366374,224,336)
{
Left=15
Top=15
Width=170
Text="MySound.ogg"
}
Add(Hub,8616683,287,385)
{
link(onEvent1,14648011:doConvert,[])
link(onEvent2,14137739:doClose,[(322,398)(322,449)(212,449)(212,398)])
}
Add(Charset,2504412,945,392)
{
Type=7
link(onCharset,13284783:doAdd,[])
}
Add(FileStream,14137739,224,385)
{
link(onLoad,8616683:doEvent1,[])
link(FileName,15366374:Text,[])
}
Add(StreamConvertor,14648011,427,385)
{
Mode=6
link(onResult,7533080:doEvent1,[])
}
Add(Convertor,7890402,581,294)
{
Mode=6
Digits=1
link(onResult,9170297:doValue,[])
}
Add(Memory,9170297,623,294)
{
}
Add(Length,15965213,539,294)
{
link(onLength,7890402:doConvert,[])
}
Add(StrCatDelim,3473625,623,392)
{
Delimiter="\r\n"
link(onStrCatDlm,13359158:doStrCat,[])
link(Str1,9170297:Value,[])
}
Add(Hub,7533080,476,385)
{
link(onEvent1,15965213:doLength,[(514,391)(514,300)])
link(onEvent2,3473625:doStrCatDlm,[])
}
Add(StrCat,13359158,679,392)
{
Str2="\r\n0\r\n\r\n"
link(onStrCat,7935507:doLoadString,[])
}
Проверять надо правильно ли там указаны адреса и заголовок.
карма: 26

0
Редактировалось 6 раз(а), последний 2019-03-07 16:43:21