Om libproxy returnerar en proxy-URI medan nästa socket ansluter direkt, kontrollera överlämningen. libproxy upptäcker policy; det fångar inte upp varje socket som applikationen öppnar.

  1. Fråga efter resursen. I det dokumenterade libproxy 0.5 C-API:t skapar du en proxyfabrik och begär den faktiska mål-URL:en.
  2. Tolka de ordnade kandidaterna. HTTP-, SOCKS- och direktresultat kräver olika hantering. Behåll deras preferensordning och den avsedda felpolicyn.
  3. Konfigurera konsumenten. Ge den valda proxytypen, slutpunkten och autentiseringsordningen till en transport som stöder dem. En rå TCP-socket får ingen CONNECT- eller SOCKS-förhandling från en returnerad URI.

Spara inte ett enda svar som rutten för alla mål och gör inte direkt routning permanent bara för att den första proxyn misslyckades en gång.

Om HTTP-klienten redan integrerar systemproxy eller PAC-upptäckt, välj en enda ägare av valet. Två oberoende väljare plus ett extra omslag kan ge en rutt som ingen av de två policyerna avsåg.

I inbyggd kod, följ livscykeln för fabriken och resultatminnet i det installerade API:t. Återanvändning av en fabrik kan behålla användbart upptäcktstillstånd, men den behöver fortfarande en fråga för varje mål. Logga valet separat från anslutningsresultatet: en returnerad URI bevisar inte lyckad autentisering, uppslagning eller vidare åtkomst.

Relaterade artiklar