Pokud libproxy vrátí proxy URI, ale další socket se připojí přímo, zkontrolujte předání. libproxy zjišťuje zásady; nezachytává každý socket, který aplikace otevře.

  1. Dotážete se na zdroj. V dokumentovaném C API libproxy 0.5 vytvořte továrnu proxy a požádejte o skutečnou cílovou URL.
  2. Vyložte seřazené kandidáty. Výsledky HTTP, SOCKS a přímé vyžadují odlišné zpracování. Zachovejte jejich pořadí preference a zamýšlenou zásadu selhání.
  3. Nakonfigurujte spotřebitele. Předejte zvolený typ proxy, koncový bod a uspořádání ověřování transportu, který je podporuje. Holý TCP socket nezíská z vráceného URI vyjednávání CONNECT ani SOCKS.

Neukládejte jednu odpověď jako trasu pro všechny cíle a nedělejte přímé směrování trvalým jen proto, že první proxy jednou selhala.

Pokud klient HTTP už integruje systémovou proxy nebo zjišťování PAC, zvolte jednoho vlastníka výběru. Dva nezávislé selektory a další obal mohou vytvořit trasu, kterou žádná ze zásad nezamýšlela.

V nativním kódu dodržujte životní cyklus továrny a paměti výsledků nainstalovaného API. Opětovné použití továrny může uchovat užitečný stav zjišťování, ale stále potřebuje dotaz pro každý cíl. Zaznamenávejte výběr odděleně od výsledku spojení: vrácené URI neprokazuje úspěšné ověření, překlad ani další přístup.

Související články