Uporaba izbranega proxyja v odjemalcu TIdHTTP v Delphi
Povežite izbor s seznama Delphi s konfiguracijo proxyja TIdHTTP, z preverjenimi vrednostmi končne točke in izrecno neposredno možnostjo.
Seznam lahko prikaže sto proxyjev, medtem ko TIdHTTP še naprej uporablja istega. Izbor vrstice spremeni vmesnik; naslednja zahteva spremeni pot šele, ko izbrana končna točka doseže konfiguracijo odjemalca HTTP.
Za javne prenose HTTP lahko vnosi s seznama proxyjev HTTP zagotovijo kandidatne končne točke. Za vsakim prikazanim vnosom hranite gostitelja in celoštevilsko vrata. Ko je izbor sprejet, uporabite oboje pred začetkom prenosa:
IdHTTP1.ProxyParams.ProxyServer := ChosenHost;
IdHTTP1.ProxyParams.ProxyPort := ChosenPort;
Page := IdHTTP1.Get(TargetURL);
Ta odlomek predvideva mirujočega odjemalca, preverjeno končno točko in obstoječe spremenljivke aplikacije. Ciljni URL ostaja spletno mesto. Polje gostitelja proxyja sprejme gostitelja, ne URL spletnega mesta ali oznake prikaza.
Izbor potrebuje tri možne izide
- Veljaven izbor proxyja zagotovi gostitelja in vrata od 1 do 65535.
- Izrecna izbira Direct počisti gostitelja proxyja za naslednjo zahtevo.
- Neveljaven ali manjkajoč izbor pusti trenutno konfiguracijo nedotaknjeno in uporabnika prosi, naj jo popravi.
Ločevanje teh izidov preprečuje, da bi odznačena vrstica nepričakovano poslala naslednjo zahtevo neposredno. Onemogočite gumb za zahtevo, dokler nov izbor ni dokončan.
Če končne točke prispejo kot besedilo, jih razčlenite in preverite, preden spremenite katero od obeh lastnosti. TryStrToInt omogoča vmesniku, da sporoči slaba vrata brez neujete izjeme pretvorbe. Deljenje pri prvem dvopičju je primerno le za namerno omejeno obliko imena gostitelja ali IPv4: literal IPv6 vsebuje lastna dvopičja. Ločeno polje gostitelja in polje vrat poenostavita shranjeno predstavitev.
Ne dovolite, da bi klik v vmesniku spremenil odjemalca, ki ga delavec že uporablja. Izbor uporabite med operacijami ali dajte vsaki sočasni operaciji svojega konfiguriranega odjemalca. Izbirnik nadzoruje prihodnje povezave; ne more premakniti že vzpostavljenega prenosa na drug izhod.