En listruta kan visa hundra proxys medan TIdHTTP fortsätter använda samma. Att välja en rad ändrar gränssnittet; nästa begäran byter rutt först när den valda slutpunkten når HTTP-klientens konfiguration.

För offentliga HTTP-nedladdningar kan poster från HTTP-proxylistan leverera kandidatslutpunkter. Håll en värd och en heltalsport bakom varje visad post. När valet godtas, tillämpa båda innan nedladdningen startar:

IdHTTP1.ProxyParams.ProxyServer := ChosenHost;
IdHTTP1.ProxyParams.ProxyPort := ChosenPort;
Page := IdHTTP1.Get(TargetURL);

Det här utdraget förutsätter en ledig klient, en validerad slutpunkt och applikationens befintliga variabler. Mål-URL:en förblir webbplatsen. Proxyvärdens fält tar en värd, inte webbplatsens URL eller en visningsetikett.

Ett val behöver tre möjliga utfall

  • Ett giltigt proxyval ger en värd och en port från 1 till 65535.
  • Ett uttryckligt Direct-val rensar proxyvärden för nästa begäran.
  • Ett ogiltigt eller saknat val lämnar den aktuella konfigurationen orörd och ber användaren rätta den.

Att hålla dessa utfall åtskilda hindrar en avmarkerad rad från att oväntat skicka nästa begäran direkt. Inaktivera begärandeknappen medan ett nytt val är ofullständigt.

Om slutpunkter kommer som text, tolka och validera dem innan någon av de två egenskaperna ändras. TryStrToInt låter gränssnittet rapportera en dålig port utan ett ohanterat konverteringsundantag. Delning vid första kolon passar bara för ett medvetet begränsat värdnamn-eller-IPv4-format: en IPv6-literal innehåller egna kolon. Ett separat värd- och portfält förenklar den lagrade representationen.

Låt inte ett klick i gränssnittet ändra en klient som en arbetare redan använder. Tillämpa valet mellan operationer, eller ge varje samtidig operation sin egen konfigurerade klient. Väljaren styr framtida anslutningar; den kan inte flytta en etablerad överföring till en annan utgång.

Relaterade artiklar