После инициализации нужного CefRequestContext задайте его настройку прокси в потоке UI процесса браузера до начала работы по просмотру:

auto rule = CefDictionaryValue::Create();
rule->SetString("mode", "fixed_servers");
rule->SetString("server", "http://proxy.example:8080");

auto value = CefValue::Create();
value->SetDictionary(rule);
CefString error;
bool configured = context->SetPreference("proxy", value, error);

Проверьте configured и сохраните ошибку при неудаче. CanSetPreference показывает, может ли пользователь изменять настройку; выбор в командной строке при запуске может заблокировать её для этого интерфейса.

Передайте тот же контекст при создании браузера. Настроенный, но неиспользуемый контекст не влияет на браузер в глобальном контексте.

Проверьте и изоляцию. Контексты могут совместно использовать базовое состояние хранилища или сети через общие пути кеша или явные связи. IsSharingWith — поддерживаемый способ изучить это совместное использование. Независимым сеансам прокси нужны независимо выбранные контексты и политика хранилища.

Настройка влияет на последующую работу; она не может переместить существующий туннель. Оставьте URL навигации пунктом назначения, а сервер из настройки — посредником. Для разрешённого публичного просмотра без настроенной проверки подлинности прокси список HTTP-прокси может дать подходящие значения HTTP-сервера. Если переключатели запуска намеренно владеют маршрутом, поддерживайте эту политику, а не ждите, что более поздняя запись настройки её переопределит. Поддерживаемый API контекста запроса также позволяет избежать повторной сборки удалённого CefProxyHandler.

Похожие статьи