Добрый день. Я разбираю запросы переводчика
https://ru.libretranslate.com/
При вводе текста для перевода, получаю POST запрос на
https://ru.libretranslate.com/translate, в нем передаются параметры:
q: number
source: auto
target: ru
format: text
alternatives: 3
api_key:
secret: XFCYFF7
Получаю JSON ответ:
{
"alternatives": [
"число номер",
"номер номера"
],
"detectedLanguage": {
"confidence": 18.0,
"language": "en"
},
"translatedText": "номер"
}
Не пойму как генерируется параметр secret.
Нахожу JS приложения VUE
https://ru.libretranslate.com/js/app.js?v=1.6.2
Вижу такие строки:
apiSecret: "TEVPOTVWTQ=="
Зашифрованная в base64 строка статична (открывал новые сессии, с разных браузеров). Нашел код JS который собирает POST запрос:
var request = new XMLHttpRequest();
self.transRequest = request;
var data = new FormData();
data.append("q", self.inputText);
data.append("source", self.sourceLang);
data.append("target", self.targetLang);
data.append("format", self.isHtml ? "html" : "text");
data.append("alternatives", 3);
data.append("api_key", localStorage.getItem("api_key") || "");
if (self.apiSecret) data.append("secret", atob(self.apiSecret));
request.open('POST', BaseUrl + '/translate', true);
В localstorage, в параметре api_key нету ничего, он пустой.
В итоге я понимаю, что secret меняется, время от времени, переменная apiSecret статична. Как мне понять, как генерируется secret чтобы отправлять самому POST запрос (на PHP cURL) ? Подскажите пожалуйста. Спасибо