Bruk ein vald proxy på TIdHTTP-klienten i Delphi
Kople eit listeval i Delphi til TIdHTTP-proxykonfigurasjonen, med validerte endepunktverdiar og eit eksplisitt direkteval.
Ein listeboks kan visa hundre proxyar medan TIdHTTP held fram med å bruke den same. Å velje ei rad endrar grensesnittet; neste førespurnad endrar rute først når endepunktet du valde, når konfigurasjonen til HTTP-klienten.
For offentlege HTTP-nedlastingar kan oppføringar frå HTTP-proxylista levera kandidatendepunkt. Hald ein vert og ein heiltalsport bak kvar oppføring som vert vist. Når valet er godteke, bruk båe før nedlastinga startar:
IdHTTP1.ProxyParams.ProxyServer := ChosenHost;
IdHTTP1.ProxyParams.ProxyPort := ChosenPort;
Page := IdHTTP1.Get(TargetURL);
Dette utdraget føreset ein ledig klient, eit validert endepunkt og dei eksisterande variablane i programmet. Mål-URL-en er framleis nettstaden. Vertsfeltet for proxyen tek ein vert, ikkje URL-en til nettstaden eller ei visingsetikett.
Eit val treng tre moglege utfall
- Eit gyldig proxyval gjev ein vert og ein port frå 1 til 65535.
- Eit eksplisitt Direct-val tømmer proxyverten for neste førespurnad.
- Eit ugyldig eller manglande val lèt gjeldande konfigurasjon vere intakt og ber brukaren rette han.
Å halde desse utfalla frå kvarandre hindrar ei fråvald rad i å senda neste førespurnad uventa direkte. Slå av førespurnadsknappen medan eit nytt val er ufullstendig.
Om endepunkt kjem som tekst, analyser og valider dei før du endrar nokon av dei to eigenskapane. TryStrToInt lèt grensesnittet rapportere ein dårleg port utan eit ufanga konverteringsunntak. Å dele ved første kolon passar berre for eit medvite avgrensa vertsnamn-eller-IPv4-format: ein IPv6-literal inneheld eigne kolon. Eit eige vertsfelt og portfelt gjer den lagra framstillinga enklare.
Ikkje lat eit klikk i grensesnittet endre ein klient som ein arbeidar alt brukar. Bruk valet mellom operasjonar, eller gje kvar samtidige operasjon sin eigen konfigurerte klient. Veljaren styrer framtidige tilkoplingar; han kan ikkje flytte ei etablert overføring til ein annan utgang.