Листа може да прикаже стотину проксија док TIdHTTP наставља да користи исти. Избор реда мења интерфејс; следећи захтев мења руту само пошто изабрана крајња тачка стигне у конфигурацију HTTP клијента.

За јавна HTTP преузимања, ставке из листе HTTP проксија могу дати кандидате за крајње тачке. Иза сваке приказане ставке чувајте host и целобројни port. Када се избор прихвати, примените оба пре покретања преузимања:

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

Овај фрагмент претпоставља неактивног клијента, валидирану крајњу тачку и постојеће променљиве апликације. Циљни URL остаје веб-сајт. Поље за host проксија прима host, а не URL веб-сајта или ознаку за приказ.

Избор захтева три могућа исхода

  • Исправан избор проксија доставља host и port од 1 до 65535.
  • Експлицитан избор Direct брише host проксија за следећи захтев.
  • Неисправан или недостајући избор оставља тренутну конфигурацију нетакнутом и тражи од корисника да је исправи.

Одржавање тих исхода одвојеним спречава да деселектован ред неочекивано пошаље следећи захтев директно. Онемогућите дугме за захтев док нова опција није комплетна.

Ако крајње тачке стижу као текст, рашчланите их и валидирајте пре промене било ког својства. TryStrToInt омогућава интерфејсу да пријави лош port без нехватоване изнимке конверзије. Дељење на првом двоту је прикладно само за намерно ограничен формат hostname-или-IPv4: IPv6 литерал садржи сопствене двотачке. Одвојена поља за host и port чине сачувани приказ једноставнијим.

Не дозволите да клик у интерфејсу измени клијента који радник већ користи. Примените избор између операција или дајте свакој истовременој операцији сопственог конфигурисаног клијента. Бирач контролише будуће везе; не може да премести успостављени пренос на други излаз.

Повезани чланци