SOCKS vasitəçisi mövcud olduqda, Commons Net-in FTPSClient-i miras alınan socket-proxy interfeysindən istifadə edə bilər. FTPS serverini bağlantı hədəfi kimi saxlayın:

var client = new org.apache.commons.net.ftp.FTPSClient(false);
client.setProxy(new java.net.Proxy(
    java.net.Proxy.Type.SOCKS,
    new java.net.InetSocketAddress("proxy.example", 1080)));
client.setTrustManager(null);
client.setEndpointCheckingEnabled(true);
client.setConnectTimeout(10000);
client.connect("ftps.example", 21);

Bu, açıq FTPS bağlantısı başladır. Tətbiq hələ də giriş, məlumatların qorunması üzrə razılaşma, ötürmə idarəetməsi və əlaqənin kəsilməsinə cavabdehdir. Null trust-manager parametri Commons Net-in yalnız tarix əsaslı sertifikat yoxlaması əvəzinə JVM-in standart trust manager-lərini seçir. Nəzərdə tutulan trust store-u və serverin sertifikat host adını istifadə edin.

Passiv ötürmələr üçün cari FTPSClient tətbiqi məlumat soketini də konfiqurasiya edilmiş proxy vasitəsilə yaradır, sonra TLS qatını əlavə edir. Girişdən sonra passiv rejimdən istifadə edin və tələb olunan qorunan məlumat kanalını adi FTPS API-si ilə razılaşdırın. Uğurlu nəzarət bağlantısı bu işi tamamlamır; passiv məlumat bağlantısı ayrı bir yol olaraq qalır.

Kod əlavə hesabı olmayan SOCKS xidmətini nəzərdə tutur. Autentifikasiya dəstəyi seçilmiş Java iş mühiti və yerləşdirmə üçün ayrıca nəzərdən keçirilməlidir.

Bu, FTPHTTPClient-in HTTP CONNECT interfeysi deyil. O qardaş adi FTP-ni HTTP tuneli üzərindən idarə edir; onun portunu dəyişmək FTPS əlavə etmir. Şəbəkə yalnız HTTP proxy-yə icazə verirsə, CONNECT-i həm nəzarət, həm də məlumat yollarında dəstəkləyən FTPS tətbiqi və ya saxlanılan adaptasiya seçin.

Proxy konfiqurasiyasını müştərinin həyat dövrü boyu saxlayın və təkrar istifadə edilən nüsxəni yenidən qoşmazdan əvvəl nəzərdən keçirin: FTPS əlaqəsinin kəsilməsi socket fabriklərini sıfırlayır. Marşrutun uğurlu görünməsi üçün sertifikat yoxlamalarını trust-all manager ilə əvəz etməyin.

Əlaqəli məqalələr