Bruk en valgt proxy på Delphis TIdHTTP-klient
Koble et listevalg i Delphi til TIdHTTP-proxykonfigurasjonen, med validerte endepunktverdier og et eksplisitt direktevalg.
En listeboks kan vise hundre proxyer mens TIdHTTP fortsetter å bruke den samme. Å velge en rad endrer grensesnittet; neste forespørsel endrer bare rute når det valgte endepunktet når HTTP-klientens konfigurasjon.
For offentlige HTTP-nedlastinger kan oppføringer fra HTTP-proxylisten levere kandidatendepunkter. Hold en vert og en heltallsport bak hver viste oppføring. Når valget godtas, bruk begge før nedlastingen starter:
IdHTTP1.ProxyParams.ProxyServer := ChosenHost;
IdHTTP1.ProxyParams.ProxyPort := ChosenPort;
Page := IdHTTP1.Get(TargetURL);
Dette utdraget forutsetter en ledig klient, et validert endepunkt og applikasjonens eksisterende variabler. Mål-URL-en forblir nettstedet. Proxyens vertsfelt tar en vert, ikke nettstedets URL eller en visningsetikett.
Et valg trenger tre mulige utfall
- Et gyldig proxyvalg gir en vert og en port fra 1 til 65535.
- Et eksplisitt Direct-valg tømmer proxyverten for neste forespørsel.
- Et ugyldig eller manglende valg lar gjeldende konfigurasjon være intakt og ber brukeren rette den.
Å holde disse utfallene atskilt hindrer en fravalgt rad i å sende neste forespørsel uventet direkte. Deaktiver forespørselsknappen mens et nytt valg er ufullstendig.
Hvis endepunkter kommer som tekst, analyser og valider dem før du endrer noen av de to egenskapene. TryStrToInt lar grensesnittet rapportere en dårlig port uten en ufanget konverteringsunntak. Å dele ved første kolon passer bare for et bevisst begrenset vertsnavn-eller-IPv4-format: en IPv6-literal inneholder egne kolon. Et eget vertsfelt og portfelt gjør den lagrede representasjonen enklere.
Ikke la et klikk i grensesnittet endre en klient som en arbeider allerede bruker. Bruk valget mellom operasjoner, eller gi hver samtidige operasjon sin egen konfigurerte klient. Velgeren styrer fremtidige tilkoblinger; den kan ikke flytte en etablert overføring til en annen utgang.