Primena izabranog proksija na Delphi TIdHTTP klijent
Povežite izbor sa Delphi liste sa TIdHTTP konfiguracijom proksija, uz proverene vrednosti krajnje tačke i eksplicitnu direktnu opciju.
Lista može prikazati stotinu proksija dok TIdHTTP nastavlja da koristi isti. Izbor reda menja interfejs; sledeći zahtev menja rutu tek nakon što izabrana krajnja tačka stigne u konfiguraciju HTTP klijenta.
Za javna HTTP preuzimanja, unosi sa liste HTTP proksija mogu pružiti kandidatske krajnje tačke. Iza svakog prikazanog unosa držite host i celobrojni port. Kada se izbor prihvati, primenite oboje pre pokretanja preuzimanja:
IdHTTP1.ProxyParams.ProxyServer := ChosenHost;
IdHTTP1.ProxyParams.ProxyPort := ChosenPort;
Page := IdHTTP1.Get(TargetURL);
Ovaj isečak pretpostavlja miran klijent, proverenu krajnju tačku i postojeće promenljive aplikacije. Ciljni URL ostaje veb-sajt. Polje hosta proksija prima host, a ne URL sajta ni oznaku prikaza.
Izbor zahteva tri moguća ishoda
- Valjan izbor proksija daje host i port od 1 do 65535.
- Eksplicitan izbor Direct briše host proksija za sledeći zahtev.
- Nevažeći ili odsutni izbor ostavlja trenutnu konfiguraciju netaknutom i traži od korisnika da je ispravi.
Razdvajanje tih ishoda sprečava da red bez izbora neočekivano pošalje sledeći zahtev direktno. Onemogućite dugme za zahtev dok novi izbor nije dovršen.
Ako krajnje tačke dolaze kao tekst, raščlanite ih i proverite pre promene bilo kog od dva svojstva. TryStrToInt omogućava interfejsu da prijavi loš port bez neuhvaćenog izuzetka konverzije. Deljenje na prvom dvotačku prikladno je samo za namerno ograničen format imena hosta ili IPv4: IPv6 literal sadrži sopstvena dvotačka. Odvojeno polje hosta i polje porta pojednostavljuju sačuvani prikaz.
Ne dozvolite da klik u interfejsu izmeni klijent koji radnik već koristi. Primenite izbor između operacija ili dajte svakoj paralelnoj operaciji sopstveni konfigurisani klijent. Birač upravlja budućim vezama; ne može premestiti uspostavljeni prenos na drugi izlaz.