Definir o proxy no contexto de pedido CEF
Dê a um contexto de navegador CEF um proxy fixo através da API de preferências suportada e verifique se a política de arranque permite a alteração.
Depois de inicializar o CefRequestContext pretendido, defina a sua preferência de proxy na thread de UI do processo do navegador antes de começar o trabalho de navegação:
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);Verifique configured e guarde o erro em caso de falha. CanSetPreference indica se o utilizador pode alterar a preferência; uma escolha de linha de comandos no arranque pode bloqueá-la perante esta interface.
Forneça esse mesmo contexto ao criar o navegador. Um contexto configurado mas não utilizado não afeta um navegador no contexto global.
Verifique também o isolamento. Os contextos podem partilhar estado subjacente de armazenamento ou rede através de caminhos de cache partilhados ou relações explícitas. IsSharingWith é a forma suportada de examinar essa partilha. As sessões de proxy independentes precisam de contextos e políticas de armazenamento escolhidos de forma independente.
A preferência afeta o trabalho seguinte; não pode mover um túnel existente. Mantenha o URL de navegação como destino e o servidor da preferência como intermediário. Para navegação pública permitida sem autenticação de proxy configurada, a lista de proxies HTTP pode fornecer valores de servidor HTTP candidatos. Se os interruptores de arranque possuírem a rota deliberadamente, mantenha essa política em vez de esperar que uma escrita posterior da preferência a substitua. A API de contexto de pedido suportada também evita reconstruir o CefProxyHandler removido.