Den Proxy im CEF-Anforderungskontext setzen
Geben Sie einem CEF-Browserkontext über die unterstützte Einstellungs-API einen festen Proxy und prüfen Sie, ob die Startrichtlinie die Änderung zulässt.
Nachdem der vorgesehene CefRequestContext initialisiert ist, setzen Sie seine Proxy-Einstellung im UI-Thread des Browserprozesses, bevor die Browsing-Arbeit beginnt:
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);Prüfen Sie configured und bewahren Sie den Fehler bei einem Fehlschlag auf. CanSetPreference gibt an, ob die Einstellung vom Benutzer änderbar ist; eine Befehlszeilenwahl beim Start kann sie gegenüber dieser Schnittstelle sperren.
Übergeben Sie denselben Kontext beim Erstellen des Browsers. Ein konfigurierter, aber ungenutzter Kontext wirkt sich nicht auf einen Browser im globalen Kontext aus.
Prüfen Sie auch die Isolation. Kontexte können zugrunde liegenden Speicher- oder Netzwerkzustand über gemeinsame Cache-Pfade oder ausdrückliche Beziehungen teilen. IsSharingWith ist der unterstützte Weg, diese Weitergabe zu untersuchen. Unabhängige Proxy-Sitzungen brauchen unabhängig gewählte Kontexte und Speicherrichtlinie.
Die Einstellung wirkt auf spätere Arbeit; sie kann einen bestehenden Tunnel nicht verschieben. Behalten Sie die Navigations-URL als Ziel und den Server der Einstellung als Vermittler. Für erlaubtes öffentliches Browsen ohne konfigurierte Proxy-Authentifizierung kann die HTTP-Proxy-Liste geeignete HTTP-Serverwerte liefern. Wenn Startschalter bewusst die Route besitzen, halten Sie diese Richtlinie ein, statt zu erwarten, dass ein späteres Schreiben der Einstellung sie überstimmt. Die unterstützte Anforderungskontext-API vermeidet zudem den Neuaufbau des entfernten CefProxyHandler.