Bir liste kutusu yüz proxy gösterebilir ama TIdHTTP aynı olanı kullanmayı sürdürür. Bir satır seçmek arayüzü değiştirir; sonraki istek ancak seçilen uç nokta HTTP istemcisinin yapılandırmasına ulaştıktan sonra rota değiştirir.

Genel HTTP indirmeleri için HTTP proxy listesindeki girdiler aday uç noktalar sağlayabilir. Gösterilen her girdinin arkasında bir ana bilgisayar ve tam sayı bir bağlantı noktası tutun. Seçim kabul edildiğinde, indirmeyi başlatmadan önce ikisini de uygulayın:

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

Bu parça boşta bir istemci, doğrulanmış bir uç nokta ve uygulamanın var olan değişkenlerini varsayar. Hedef URL web sitesi olarak kalır. Proxy ana bilgisayar alanı bir ana bilgisayar alır; web sitesi URL'sini veya görüntüleme etiketini değil.

Bir seçim üç olası sonuç gerektirir

  • Geçerli bir proxy seçimi bir ana bilgisayar ve 1 ile 65535 arasında bir bağlantı noktası sağlar.
  • Açık bir Direct seçimi sonraki istek için proxy ana bilgisayarını temizler.
  • Geçersiz veya eksik bir seçim mevcut yapılandırmayı olduğu gibi bırakır ve kullanıcıdan düzeltmesini ister.

Bu sonuçları ayrı tutmak, seçimi kaldırılmış bir satırın sonraki isteği beklenmedik biçimde doğrudan göndermesini önler. Yeni seçim tamamlanana kadar istek düğmesini devre dışı bırakın.

Uç noktalar metin olarak gelirse, iki özellikten birini değiştirmeden önce ayrıştırın ve doğrulayın. TryStrToInt, arayüzün yakalanmamış bir dönüştürme istisnası olmadan kötü bir bağlantı noktası bildirmesini sağlar. İlk iki nokta üst üstede bölme yalnızca bilerek sınırlandırılmış ana bilgisayar adı veya IPv4 biçimi için uygundur: bir IPv6 değişmezi kendi iki nokta üst üstelerini içerir. Ayrı ana bilgisayar ve bağlantı noktası alanları saklanan gösterimi basitleştirir.

Arayüzdeki bir tıklamanın, bir çalışanın hâlihazırda kullandığı istemciyi değiştirmesine izin vermeyin. Seçimi işlemler arasında uygulayın veya her eşzamanlı işleme kendi yapılandırılmış istemcisini verin. Seçici gelecekteki bağlantıları denetler; kurulmuş bir aktarımı başka bir çıkışa taşıyamaz.

İlgili makaleler