Valitud puhverserveri rakendamine Delphi TIdHTTP kliendis
Ühendage Delphi loendi valik TIdHTTP puhverserveri konfiguratsiooniga, kasutades valideeritud lõpp-punkti väärtusi ja selgesõnalist otsevõimalust.
Loendiväli võib näidata sadat puhverserverit, samal ajal kui TIdHTTP jätkab sama kasutamist. Rea valimine muudab liidest; järgmine päring muudab marsruuti alles siis, kui valitud lõpp-punkt jõuab HTTP kliendi konfiguratsiooni.
Avalike HTTP allalaadimiste jaoks võivad HTTP puhverserverite loendi kirjed pakkuda kandidaatlõpp-punkte. Hoidke iga kuvatava kirje taga host ja täisarvuline port. Kui valik vastu võetakse, rakendage mõlemad enne allalaadimise alustamist:
IdHTTP1.ProxyParams.ProxyServer := ChosenHost;
IdHTTP1.ProxyParams.ProxyPort := ChosenPort;
Page := IdHTTP1.Get(TargetURL);
See katkend eeldab jõudeolevat klienti, valideeritud lõpp-punkti ja rakenduse olemasolevaid muutujaid. Siht-URL jääb veebisaidiks. Puhverserveri hosti väli võtab hosti, mitte veebisaidi URL-i ega kuvamissilti.
Valik vajab kolme võimalikku tulemust
- Kehtiv puhverserveri valik annab hosti ja pordi vahemikus 1 kuni 65535.
- Selgesõnaline otsene valik tühjendab puhverserveri hosti järgmise päringu jaoks.
- Kehtetu või puuduv valik jätab praeguse konfiguratsiooni puutumata ja palub kasutajal see parandada.
Nende tulemuste eraldi hoidmine takistab valimata jäänud real järgmise päringu ootamatut otsesaatmist. Keelake päringunupp, kuni uus valik on lõpetamata.
Kui lõpp-punktid saabuvad tekstina, sõeluge ja valideerige need enne mõlema atribuudi muutmist. TryStrToInt võimaldab liidesel teatada halvast pordist ilma püüdmata teisenduserandita. Esimese kooloni juures jagamine sobib ainult teadlikult piiratud hostinime-või-IPv4-vormingu jaoks: IPv6-literaalil on oma koolonid. Eraldi hosti väli ja pordi väli muudavad salvestatud esituse lihtsamaks.
Ärge laske UI-kilikil muuta klienti, mida töötaja juba kasutab. Rakendage valik toimingute vahel või andke igale samaaegsele toimingule oma konfigureeritud klient. Valija juhib tulevasi ühendusi; see ei saa teisaldada juba loodud ülekannet teisele väljapääsule.