libproxy sceglie una rotta; il tuo client stabilisce la connessione
Usa i risultati di libproxy come candidati di instradamento per URL invece di aspettarti che la scoperta reindirizzi i socket dell'applicazione.
Se libproxy restituisce un URI proxy mentre il socket successivo si connette direttamente, controlla il passaggio. libproxy scopre la policy; non intercetta ogni socket aperto dall'applicazione.
- Interroga la risorsa. Nell'API C documentata di libproxy 0.5, crea una factory proxy e chiedi l'URL di destinazione effettivo.
- Interpreta i candidati ordinati. I risultati HTTP, SOCKS e diretto richiedono una gestione diversa. Mantieni il loro ordine di preferenza e la policy di errore prevista.
- Configura il consumatore. Passa il tipo di proxy scelto, l'endpoint e la disposizione di autenticazione a un trasporto che li supporti. Un socket TCP grezzo non ottiene negoziazione CONNECT o SOCKS da un URI restituito.
Non salvare una sola risposta come rotta per tutte le destinazioni e non rendere permanente l'instradamento diretto solo perché il primo proxy ha fallito una volta.
Se il client HTTP integra già il proxy di sistema o la scoperta PAC, scegli un unico proprietario della selezione. Due selettori indipendenti più un altro wrapper possono produrre una rotta che nessuna delle due policy intendeva.
Nel codice nativo, segui il ciclo di vita della factory e della memoria dei risultati dell'API installata. Riusare una factory può conservare uno stato di scoperta utile, ma richiede comunque una query per ogni destinazione. Registra la selezione separatamente dall'esito della connessione: un URI restituito non dimostra un'autenticazione, una risoluzione o un accesso successivo riusciti.