Zastosowanie wybranego proxy w kliencie TIdHTTP Delphi
Połącz wybór z listy Delphi z konfiguracją proxy TIdHTTP, z zweryfikowanymi wartościami punktu końcowego i jawną opcją bezpośrednią.
Pole listy może pokazywać sto proxy, podczas gdy TIdHTTP nadal używa tego samego. Wybranie wiersza zmienia interfejs; następne żądanie zmienia trasę dopiero po dotarciu wybranego punktu końcowego do konfiguracji klienta HTTP.
W przypadku publicznych pobrań HTTP wpisy z listy proxy HTTP mogą dostarczyć kandydatów na punkty końcowe. Za każdym wyświetlanym wpisem trzymaj hosta i całkowity port. Gdy wybór zostanie zaakceptowany, zastosuj oba przed rozpoczęciem pobierania:
IdHTTP1.ProxyParams.ProxyServer := ChosenHost;
IdHTTP1.ProxyParams.ProxyPort := ChosenPort;
Page := IdHTTP1.Get(TargetURL);
Ten fragment zakłada bezczynnego klienta, zweryfikowany punkt końcowy i istniejące zmienne aplikacji. Docelowy URL pozostaje witryną. Pole hosta proxy przyjmuje hosta, a nie URL witryny ani etykietę wyświetlania.
Wybór wymaga trzech możliwych wyników
- Prawidłowy wybór proxy dostarcza hosta i port od 1 do 65535.
- Jawny wybór Direct czyści hosta proxy na potrzeby następnego żądania.
- Nieprawidłowy lub brakujący wybór pozostawia bieżącą konfigurację nietkniętą i prosi użytkownika o jej poprawienie.
Utrzymywanie tych wyników osobno zapobiega temu, by odznaczony wiersz nieoczekiwanie wysłał następne żądanie bezpośrednio. Wyłącz przycisk żądania, dopóki nowy wybór jest niekompletny.
Jeśli punkty końcowe przychodzą jako tekst, przeanalizuj je i zweryfikuj przed zmianą którejkolwiek z dwóch właściwości. TryStrToInt pozwala interfejsowi zgłosić zły port bez nieprzechwyconego wyjątku konwersji. Dzielenie na pierwszym dwukropku pasuje tylko do celowo ograniczonego formatu nazwy hosta lub IPv4: literał IPv6 zawiera własne dwukropki. Oddzielne pole hosta i pole portu upraszczają przechowywaną reprezentację.
Nie pozwól, by kliknięcie w interfejsie zmodyfikowało klienta, którego pracownik już używa. Stosuj wybór między operacjami lub daj każdej równoległej operacji własnego skonfigurowanego klienta. Selektor steruje przyszłymi połączeniami; nie może przenieść ustanowionego transferu na inne wyjście.