Atlasītā starpniekservera lietošana Delphi TIdHTTP klientā
Savienojiet Delphi saraksta atlasi ar TIdHTTP starpniekservera konfigurāciju, izmantojot pārbaudītas galapunkta vērtības un skaidru tiešo opciju.
Saraksta lauks var parādīt simts starpniekserverus, kamēr TIdHTTP turpina izmantot to pašu. Rindas atlase maina saskarni; nākamais pieprasījums maina maršrutu tikai pēc tam, kad atlasītais galapunkts nonāk HTTP klienta konfigurācijā.
Publiskiem HTTP lejupielādēm HTTP starpniekserveru saraksta ieraksti var nodrošināt kandidātgalapunktus. Aiz katra parādītā ieraksta glabājiet resursdatoru un veselu skaitli portu. Kad atlase tiek pieņemta, pirms lejupielādes sākšanas piemērojiet abus:
IdHTTP1.ProxyParams.ProxyServer := ChosenHost;
IdHTTP1.ProxyParams.ProxyPort := ChosenPort;
Page := IdHTTP1.Get(TargetURL);
Šis fragments pieņem dīkstāvē esošu klientu, pārbaudītu galapunktu un lietotnes esošos mainīgos. Mērķa URL paliek vietne. Starpniekservera resursdatora lauks uzņem resursdatoru, nevis vietnes URL vai attēlojuma apzīmējumu.
Atlasei vajadzīgi trīs iespējami iznākumi
- Derīga starpniekservera atlase nodrošina resursdatoru un portu no 1 līdz 65535.
- Skaidra tiešā izvēle notīra starpniekservera resursdatoru nākamajam pieprasījumam.
- Nederīga vai trūkstoša atlase atstāj pašreizējo konfigurāciju neskartu un lūdz lietotāju to izlabot.
Šo iznākumu atdalīšana neļauj neizvēlētai rindai negaidīti nosūtīt nākamo pieprasījumu tieši. Atspējojiet pieprasījuma pogu, kamēr jauna izvēle nav pabeigta.
Ja galapunkti ierodas kā teksts, pirms jebkuras no abām īpašībām maiņas tos parsējiet un pārbaudiet. TryStrToInt ļauj saskarnei ziņot par sliktu portu bez neuzķertas konversijas izņēmuma. Sadalīšana pie pirmā kols ir piemērota tikai apzināti ierobežotam resursdatora nosaukuma vai IPv4 formātam: IPv6 literālim ir savi koli. Atsevišķs resursdatora lauks un porta lauks vienkāršo saglabāto attēlojumu.
Neļaujiet UI klikšķim mainīt klientu, ko darbinieks jau izmanto. Piemērojiet izvēli starp darbībām vai piešķiriet katrai vienlaicīgai darbībai savu konfigurēto klientu. Atlasītājs kontrolē turpmākos savienojumus; tas nevar pārvietot jau izveidotu pārsūtīšanu uz citu izeju.