Configurar el proxy en el contexto de solicitud de CEF
Asigne a un contexto de navegador CEF un proxy fijo mediante la API de preferencias admitida y compruebe si la política de inicio permite el cambio.
Después de que se inicialice el CefRequestContext previsto, establezca su preferencia de proxy en el hilo de UI del proceso del navegador antes de iniciar su trabajo de navegación:
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);Compruebe configured y conserve el error si falla. CanSetPreference indica si el usuario puede modificar la preferencia; una elección de línea de comandos al inicio puede bloquearla frente a esta interfaz.
Proporcione ese mismo contexto al crear el navegador. Un contexto configurado pero sin usar no afecta a un navegador sobre el contexto global.
Compruebe también el aislamiento. Los contextos pueden compartir estado subyacente de almacenamiento o red mediante rutas de caché compartidas o relaciones explícitas. IsSharingWith es la forma admitida de examinar esa compartición. Las sesiones de proxy independientes necesitan contextos y políticas de almacenamiento elegidos de forma independiente.
La preferencia afecta al trabajo posterior; no puede mover un túnel existente. Mantenga la URL de navegación como destino y el servidor de la preferencia como intermediario. Para navegación pública permitida sin autenticación de proxy configurada, la lista de proxies HTTP puede aportar valores de servidor HTTP candidatos. Si los interruptores de inicio poseen la ruta deliberadamente, mantenga esa política en lugar de esperar que una escritura posterior de la preferencia la anule. La API de contexto de solicitud admitida también evita reconstruir el CefProxyHandler eliminado.