Приложете избран прокси към клиента TIdHTTP на Delphi
Свържете избор от списък на Delphi с конфигурацията на прокси в TIdHTTP, с валидирани стойности на крайна точка и явна директна опция.
Списъчно поле може да показва стотици проксита, докато TIdHTTP продължава да използва едно и също. Избирането на ред променя интерфейса; следващата заявка сменя маршрута само след като избраната крайна точка стигне до конфигурацията на HTTP клиента.
За публични HTTP изтегляния записите от списъка с HTTP проксита могат да предоставят кандидат-крайни точки. Пазете хост и цяло число порт зад всеки показан запис. Когато изборът бъде приет, приложете двете преди да започне изтеглянето:
IdHTTP1.ProxyParams.ProxyServer := ChosenHost;
IdHTTP1.ProxyParams.ProxyPort := ChosenPort;
Page := IdHTTP1.Get(TargetURL);
Този фрагмент предполага свободен клиент, валидирана крайна точка и съществуващите променливи на приложението. Целевият URL остава сайтът. Полето за хост на проксито приема хост, а не URL на сайта или етикет за показване.
Изборът се нуждае от три възможни изхода
- Валиден избор на прокси дава хост и порт от 1 до 65535.
- Явният избор Direct изчиства хоста на проксито за следващата заявка.
- Невалиден или липсващ избор оставя текущата конфигурация непокътната и иска от потребителя да я коригира.
Отделянето на тези изходи предотвратява неочаквано директно изпращане на следващата заявка от ред без избор. Деактивирайте бутона за заявка, докато новият избор е непълен.
Ако крайните точки идват като текст, анализирайте и валидирайте ги, преди да промените някое от двете свойства. TryStrToInt позволява на интерфейса да докладва лош порт без необработено изключение при преобразуване. Разделянето при първото двоеточие е подходящо само за умишлено ограничен формат хост-или-IPv4: IPv6 литералът съдържа собствени двоеточия. Отделно поле за хост и поле за порт правят съхраненото представяне по-просто.
Не позволявайте клик в интерфейса да променя клиент, който работник вече използва. Прилагайте избора между операции или давайте на всяка паралелна операция собствен конфигуриран клиент. Изборът управлява бъдещи връзки; той не може да премести установен трансфер към друг изход.