Можно ли изменить корпус исходящего HTTP-запроса в дополнении Firefox?Javascript

Форум по Javascript
Ответить
Anonymous
 Можно ли изменить корпус исходящего HTTP-запроса в дополнении Firefox?

Сообщение Anonymous »

Я делаю дополнение Firefox, и мне нужно, чтобы он имел возможность изменять тела определенных исходящих HTTP-запросов. Инструкции по изменению заголовков легко доступны в собственной документации Mozilla, но это не то, что я ищу. На этой странице нет упоминания об изменении тела HTTP. Однако с помощью OnbeForesendHeaders вы не можете передать тело HTTP -запроса слушателю (функция, которая вызывается, когда это событие запускается), так что это не поможет.

Код: Выделить всё

onBeforeRequest
(Docs), с другой стороны, позволяет передавать тело слушателю. Тем не менее, нет упоминания о изменении тела. В нем упоминается только отмена и перенаправление запроса. Поэтому я предполагаю, что это также не может быть использовано для изменения корпусов запроса. Это хорошее место для прослушивания, если вы хотите отменить или перенаправить запрос. Я проверил это в веб -приложении Discord. < /P>
const text = "http mod test"

function replaceBody(details) {
let originalBody = details.requestBody.raw[0].bytes;
let encoder = new TextEncoder;
let decoder = new TextDecoder;

let jsonBody = JSON.parse(decoder.decode(originalBody));
jsonBody.content = text;
let newBody = encoder.encode(JSON.stringify(jsonBody));

return { requestBody: newBody }
}

browser.webRequest.onBeforeRequest.addListener(
replaceBody,
{urls: ["*://discord.com/api/v9/channels/*"]},
["blocking", "requestBody"]
);
< /code>
Так что это должно было заменить любое сообщение, которое я отправил на «http mod -тест», но это не так. Нет ошибок или предупреждений. Когда я проверил раздел «сеть» инструментов разработчика (CTRL + SHIFT + E или CMD + OPT + E) и проверил тело запроса POST, он, безусловно, содержал мое исходное сообщение (то есть не «HTTP MOD Test») я попробовал вместо этого вернуть некодированную строку JSON, но это также не было.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... efox-add-o
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»