libproxy bira rutu; vaš klijent ostvaruje vezu
Koristite libproxy rezultate kao kandidate za rutiranje po URL-u umjesto da očekujete da će otkrivanje preusmjeriti sockete aplikacije.
Ako libproxy vrati proxy URI dok se sljedeći socket povezuje direktno, provjerite primopredaju. libproxy otkriva politiku; ne presreće svaki socket koji aplikacija otvori.
- Upitajte za resurs. U dokumentovanom libproxy 0.5 C API-ju kreirajte proxy fabriku i zatražite stvarni URL odredišta.
- Protumačite poredane kandidate. HTTP, SOCKS i direktni rezultati zahtijevaju različito rukovanje. Zadržite njihov redoslijed preferencije i predviđenu politiku neuspjeha.
- Konfigurirajte potrošača. Dajte odabrani tip proxyja, krajnju tačku i raspored autentifikacije transportu koji ih podržava. Sirovi TCP socket ne dobija CONNECT ni SOCKS pregovaranje iz vraćenog URI-ja.
Ne čuvajte jedan odgovor kao rutu za sva odredišta i ne činite direktno rutiranje trajnim zato što je prvi proxy jednom zakazao.
Ako HTTP klijent već integriše sistemski proxy ili PAC otkrivanje, odaberite jednog vlasnika selekcije. Dva nezavisna selektora plus još jedan omotač mogu proizvesti rutu koju nijedna politika nije namjeravala.
U izvornom kodu slijedite životni ciklus fabrike i memorije rezultata instaliranog API-ja. Ponovno korištenje fabrike može zadržati korisno stanje otkrivanja, ali još uvijek zahtijeva upit za svako odredište. Bilježite selekciju odvojeno od ishoda veze: vraćeni URI ne dokazuje uspješnu autentifikaciju, razrješavanje ili daljnji pristup.