Pan fydd cyfryngwr SOCKS ar gael, gall FTPSClient Commons Net ddefnyddio’r rhyngwyneb socket proxy etifeddol. Cadwch y gweinydd FTPS fel cyrchfan y cysylltiad:

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

Mae hyn yn cychwyn cysylltiad FTPS penodol. Mae’r rhaglen yn dal i fod yn gyfrifol am fewngofnodi, trafod diogelu data, trin trosglwyddo a datgysylltu. Mae’r gosodiad trust manager nwl yn dewis trust managerau rhagosodedig y JVM yn hytrach na gwiriad tystysgrif dyddiad-yn-unig Commons Net. Defnyddiwch yr ystorfa ymddiriedaeth a fwriedir ac enw gwesteiwr tystysgrif y gweinydd.

Ar gyfer trosglwyddiadau goddefol, mae gweithredu FTPSClient presennol yn creu ei soced data drwy’r proxy a ffurfweddwyd hefyd, ac yna’n ychwanegu’r haen TLS. Ar ôl mewngofnodi, defnyddiwch fodd goddefol a thrafodwch y sianel data gwarchodedig ofynnol drwy API arferol FTPS. Nid yw cysylltiad rheoli llwyddiannus yn cwblhau’r gwaith hwnnw; mae’r cysylltiad data goddefol yn parhau’n llwybr ar wahân.

Mae’r cod yn tybio gwasanaeth SOCKS heb gyfrif ychwanegol. Mae angen adolygiad ar wahân ar gymorth dilysu ar gyfer y runtime Java a’r defnyddiad a ddewiswyd.

Nid dyma ryngwyneb HTTP CONNECT FTPHTTPClient. Mae’r brawd hwnnw’n trin FTP cyffredin dros dwnnel HTTP; nid yw newid ei borth yn ychwanegu FTPS. Os yw’r rhwydwaith yn caniatáu dim ond proxy HTTP, dewiswch weithrediad FTPS neu addasiad a gynhelir sy’n cefnogi CONNECT ar lwybrau rheoli a data ill dau.

Cadwch y ffurfweddiad proxy am gylch bywyd y cleient, a’i adolygu cyn ailgysylltu enghraifft a ailddefnyddiwyd: mae datgysylltu FTPS yn ailosod ffatrïoedd socedi. Peidiwch â disodli gwiriadau tystysgrif â trust-all manager i wneud i’r llwybr ymddangos yn llwyddiannus.

Erthyglau cysylltiedig