Wakati mpatanishi wa SOCKS anapatikana, FTPSClient ya Commons Net inaweza kutumia kiolesura cha socket proxy kilichorithiwa. Weka seva ya FTPS kama lengo la muunganisho:

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);

Hii huanzisha muunganisho dhahiri wa FTPS. Programu bado inashughulikia kuingia, majadiliano ya ulinzi wa data, usimamizi wa uhamishaji na kukatisha muunganisho. Mpangilio wa null trust manager huchagua trust manager chaguo-msingi za JVM badala ya ukaguzi wa cheti wa Commons Net unaotegemea tarehe pekee. Tumia trust store iliyokusudiwa na jina la mwenyeji la cheti cha seva.

Kwa uhamishaji usio hai, utekelezaji wa sasa wa FTPSClient huunda pia socket yake ya data kupitia proxy iliyosanidiwa, kisha huongeza tabaka la TLS. Baada ya kuingia, tumia hali isiyo hai na jadiliana chaneli ya data iliyolindwa inayohitajika kupitia API ya kawaida ya FTPS. Muunganisho wa udhibiti uliofanikiwa haukamilishi kazi hiyo; muunganisho wa data usio hai unabaki kuwa njia tofauti.

Msimbo unadhania huduma ya SOCKS bila akaunti ya ziada. Msaada wa uthibitishaji unahitaji mapitio tofauti kwa runtime ya Java na usambazaji uliochaguliwa.

Hiki si kiolesura cha HTTP CONNECT cha FTPHTTPClient. Ndugu huyo hushughulikia FTP ya kawaida kupitia handaki la HTTP; kubadilisha bandari yake hakuongezi FTPS. Ikiwa mtandao unaruhusu proxy ya HTTP pekee, chagua utekelezaji wa FTPS au urekebishaji unaodumishwa unaotumia CONNECT kwenye njia za udhibiti na data.

Hifadhi usanidi wa proxy katika mzunguko mzima wa maisha ya mteja, na uipitie kabla ya kuunganisha tena kielelezo kilichotumika tena: kukatisha muunganisho wa FTPS hurejesha viwanda vya socket. Usibadilishe ukaguzi wa vyeti na trust-all manager ili njia ionekane imefanikiwa.

Makala zinazohusiana