Usate il contesto di richiesta inizializzato che serve il browser previsto:

using System;
using CefSharp;

var result = await requestContext.SetProxyAsync(
    "http", "proxy.example", 8080);
if (!result.Success)
{
    throw new InvalidOperationException(result.ErrorMessage);
}

Attendete l'operazione e gestite l'errore prima della navigazione. Per un controllo consentito di un sito pubblico, l'elenco di proxy HTTP fornisce candidati per gli argomenti host e porta HTTP. SetProxyAsync pianifica l'aggiornamento della preferenza sul thread UI di CEF e seleziona fixed_servers.

Se il risultato indica che la preferenza è di sola lettura, controllate i flag proxy della riga di comando; possono impedire questo aggiornamento. Attendere da solo non trasforma una modifica rifiutata in una rotta applicata.

Una chiamata diretta a SetPreference richiede comunque il thread UI di CEF. Nella consueta configurazione a ciclo di messaggi multithread, il thread UI WinForms o WPF dell'applicazione host è un contesto diverso.

I browser che condividono il contesto di richiesta condividono la preferenza. Questo seleziona l'endpoint; un callback di autenticazione separato deve limitare le credenziali alla sfida proxy prevista.

Articoli correlati