Как в хроме используя JS взять содержимое вкладки Response?
Вложений: 1
Я пытался перевести текст в аудио на сайте https://cloud.google.com/text-to-speech.
Открыв в моём софте браузер на основе Chromium (если быть точным тот же хром версии 110.0.5481.77 ) На сайте https://cloud.google.com/text-to-speech я нажал на кнопку "SPEAK IT". И в моих инструментах разработчика chrome я вижу на вкладке "Response" это содержание:
{
"audioContent": "UklGRv7JEgBXQVZFZm10IBAAAAABAAEAwF0AAIC7AAACABAAZGF0YdrJEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA вырезано здесь, потому что очень длинный текст AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"timepoints": [],
"audioConfig": {
"audioEncoding": "LINEAR16",
"speakingRate": 1,
"pitch": 0,
"volumeGainDb": 0,
"sampleRateHertz": 0,
"effectsProfileId": []
}
}
Как я могу взять это содержимое вкладки Response? Вложение 4893 Я кстати моим софтом могу использовать JS в браузере. Не хочу использовать пост запрос потому что не получилось это сделать сколько я не пытался. |
Я бы на вашем месте смотрел в сторону Service Workers, headless browsers like a Puppeteer или попытался сэмулировать запрос от приложения.
|
Если руками запрос почему-то отправить не получается(хотя по-хорошему надо разбиваться именно с этим), то можно перед отправкой подменить xmlhttp\fetch и получить ответ таким образом, условно:
function callback(response) {
console.log('response', response);
}
window.XMLHttpRequest.prototype.open = ((open) => function(method, url, async){
if (typeof url === 'string' && url.includes('site.ru/endpoint')) {
this.addEventListener('load', () => callback(JSON.parse(this.responseText)), {once: true});
}
return open.apply(this, arguments);
})(window.XMLHttpRequest.prototype.open);
window.fetch = ((fetch) => function(url, options){
const req = fetch.apply(this, arguments);
if (typeof url === 'string' && url.includes('site.ru/endpoint')) {
req.then(res => res.json()).then(callback);
}
return req;
})(window.fetch);
|
| Часовой пояс GMT +3, время: 16:06. |