Primijenite odabrani proxy na Delphi TIdHTTP klijent
Povežite odabir s Delphi popisa s konfiguracijom proxyja u TIdHTTP, uz provjerene vrijednosti završne točke i izričitu izravnu opciju.
Popis može prikazati stotinu proxyja dok TIdHTTP nastavlja koristiti isti. Odabir retka mijenja sučelje; sljedeći zahtjev mijenja rutu tek nakon što odabrana završna točka stigne u konfiguraciju HTTP klijenta.
Za javna HTTP preuzimanja, unosi s popisa HTTP proxyja mogu pružiti kandidatne završne točke. Iza svakog prikazanog unosa držite host i cjelobrojni port. Kad se odabir prihvati, primijenite oboje prije početka preuzimanja:
IdHTTP1.ProxyParams.ProxyServer := ChosenHost;
IdHTTP1.ProxyParams.ProxyPort := ChosenPort;
Page := IdHTTP1.Get(TargetURL);
Ovaj ulomak pretpostavlja mirnog klijenta, provjerenu završnu točku i postojeće varijable aplikacije. Ciljni URL ostaje web-mjesto. Polje hosta proxyja prima host, a ne URL web-mjesta ni oznaku prikaza.
Odabir treba tri moguća ishoda
- Valjan odabir proxyja daje host i port od 1 do 65535.
- Izričit odabir Direct briše host proxyja za sljedeći zahtjev.
- Nevaljan ili nedostajući odabir ostavlja trenutnu konfiguraciju netaknutom i traži od korisnika da je ispravi.
Držanje tih ishoda odvojenima sprječava da redak bez odabira neočekivano pošalje sljedeći zahtjev izravno. Onemogućite gumb za zahtjev dok novi odabir nije dovršen.
Ako završne točke dolaze kao tekst, raščlanite ih i provjerite prije promjene bilo kojeg od dvaju svojstava. TryStrToInt omogućuje sučelju da prijavi loš port bez neuhvaćene iznimke pretvorbe. Dijeljenje na prvom dvotočju prikladno je samo za namjerno ograničen format hostname-ili-IPv4: IPv6 literal sadrži vlastita dvotočja. Odvojeno polje hosta i polje porta pojednostavljuju pohranjeni prikaz.
Ne dopustite da klik u sučelju izmijeni klijent koji radnik već koristi. Primijenite odabir između operacija ili dajte svakoj paralelnoj operaciji vlastiti konfigurirani klijent. Birač upravlja budućim vezama; ne može premjestiti uspostavljeni prijenos na drugi izlaz.