Перенаправление на прокси с помощью Webextensions API

Как принять HTTP-запрос и перенаправить его на прокси-сервер (на специальной основе, если браузер не использует прокси-сервер)?

Например: я хочу получить доступ к http://www.stackoverflow.com/questions.

С точки зрения API этот запрос будет выглядеть так:

Method: Get
Url: http://www.stackoverflow.com/questions

Headers
Host: www.stackoverflow.com
More-Headers: More-Values

Если мне нужно отправить тот же запрос на прокси, мне нужно добавить заголовок авторизации прокси. Мне также нужно изменить URL-адрес на http://www.myproxy.com. Как указать URL веб-сайта, который я хочу посетить?

С точки зрения фактического кодирования:

В onBeforeRequest callBack- я меняю URL, возвращая {redirectUrl: https://www.myproxy.com}

В onBeforeSendHeaders callBack я добавляю заголовок аутентификации прокси. Я оставляю заголовок Host как есть.

Где и как указать URL-адрес целевого веб-сайта, с которого мне нужен контент?




Ответы (1)


API webRequest не позволит вам делать то, что вы просите, вам нужен браузер для обработки проксирования. API-интерфейс прокси-сервера предназначен для предоставления способа сделать это, он реализован в Chrome и в настоящее время (август 2016 г.) внедряется в Firefox (ошибка отслеживания: https://bugzilla.mozilla.org/show_bug.cgi?id=1283639).

person Andrew Swan    schedule 16.08.2016