Nígbà tí alárinà SOCKS bá wà, FTPSClient ti Commons Net lè lo ẹ̀rọ socket proxy tí ó jogún. Fi server FTPS sí ibi tí ìsopọ̀ náà ń lọ:

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

Èyí bẹ̀rẹ̀ ìsopọ̀ FTPS tí ó ṣe kedere. Ohun èlò náà ṣì ń bo wíwọlé, ìbánisọ̀rọ̀ ìdáàbòbò dátà, ìṣàkóso gbígbé àti pípa ìsopọ̀. Ètò null trust manager yan àwọn trust manager àkọ́kọ́ ti JVM dípò ṣíṣàyẹ̀wò ìwé-ẹ̀rí Commons Net tí ó dá lórí ọjọ́ nìkan. Lo trust store tí a pète àti orúkọ host ìwé-ẹ̀rí server.

Fún gbígbé passive, ìmúṣẹ FTPSClient lọ́wọ́lọ́wọ́ tún ń dá socket dátà rẹ̀ nípasẹ̀ proxy tí a ṣètò, lẹ́yìn náà ó fi ìpele TLS kún un. Lẹ́yìn wíwọlé, lo ipò passive kí o sì ṣe ìbánisọ̀rọ̀ ìkọ̀wé dátà ààbò tí ó yẹ nípasẹ̀ FTPS API déédéé. Ìsopọ̀ ìṣàkóso tí ó ṣàṣeyọrí kò pari iṣẹ́ yẹn; ìsopọ̀ dátà passive ṣì jẹ́ ọ̀nà ọ̀tọ̀.

Kóòdù náà gbà pé iṣẹ́ SOCKS kan wà láìsí àkọsílẹ̀ àfikún. Àtìlẹ́yìn ìjẹ́rìí nílò àyẹ̀wò ọ̀tọ̀ fún Java runtime àti ìmúgbòòrò tí a yàn.

Èyí kì í ṣe ẹ̀rọ HTTP CONNECT ti FTPHTTPClient. Arákùnrin yẹn ń ṣàkóso FTP déédéé nípasẹ̀ ọ̀nà abẹ́lẹ̀ HTTP; yíyí port rẹ̀ kò fi FTPS kún un. Bí nẹ́tíwọ́kì bá gba proxy HTTP nìkan láàyè, yan ìmúṣẹ FTPS tàbí àtúnṣe tí a ń tọ́jú tí ó ṣe àtìlẹ́yìn CONNECT lórí ọ̀nà ìṣàkóso àti ọ̀nà dátà.

Pa ìṣètò proxy mọ́ jálẹ̀ gbogbo ìgbésí ayé ẹ̀rọ oníbàárà, kí o sì ṣàyẹ̀wò rẹ̀ kí o tó tún so ẹ̀dà tí a tún lò pọ̀: pípa ìsopọ̀ FTPS ń tún àwọn ilé-iṣẹ́ socket ṣe. Má ṣe fi trust-all manager rọ́pò àwọn ṣíṣàyẹ̀wò ìwé-ẹ̀rí kí ọ̀nà náà lè dàbí ẹni tí ó ṣàṣeyọrí.

Àwọn àpilẹ̀kọ tó jọra