Commons Net యొక్క FTPSClient కోసం SOCKS మార్గం
సర్వర్ యొక్క హోస్ట్నేమ్, నిష్క్రియ డేటా కనెక్షన్లు మరియు TLS ధృవీకరణను నిలుపుకుంటూ FTPS కోసం Commons Net యొక్క సాకెట్ ప్రాక్సీ ఇంటర్ఫేస్ను ఉపయోగించండి.
SOCKS మధ్యవర్తి అందుబాటులో ఉన్నప్పుడు, Commons Net యొక్క FTPSClient వారసత్వంగా వచ్చిన సాకెట్ ప్రాక్సీ ఇంటర్ఫేస్ను ఉపయోగించగలదు. FTPS సర్వర్ను కనెక్షన్ గమ్యస్థానంగానే ఉంచండి:
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);
ఇది స్పష్టమైన FTPS కనెక్షన్ను ప్రారంభిస్తుంది. లాగిన్, డేటా రక్షణ చర్చలు, బదిలీ నిర్వహణ మరియు డిస్కనెక్ట్ చేయడానికి యాప్లికేషన్ ఇంకా బాధ్యత వహిస్తుంది. null trust manager సెట్టింగ్ Commons Net యొక్క తేదీ ఆధారిత సర్టిఫికెట్ తనిఖీకి బదులుగా JVM యొక్క డిఫాల్ట్ trust manager-లను ఎంచుకుంటుంది. ఉద్దేశించిన trust store మరియు సర్వర్ సర్టిఫికెట్ హోస్ట్నేమ్ను ఉపయోగించండి.
నిష్క్రియ బదిలీల కోసం, ప్రస్తుత FTPSClient అమలు తన డేటా సాకెట్ను కూడా కాన్ఫిగర్ చేసిన ప్రాక్సీ ద్వారా సృష్టించి, ఆపై TLS పొరను జోడిస్తుంది. లాగిన్ తర్వాత నిష్క్రియ మోడ్ను ఉపయోగించి, సాధారణ FTPS API ద్వారా అవసరమైన రక్షిత డేటా ఛానెల్ను చర్చించండి. విజయవంతమైన నియంత్రణ కనెక్షన్ ఆ పనిని పూర్తి చేయదు; నిష్క్రియ డేటా కనెక్షన్ వేరే మార్గంగానే ఉంటుంది.
కోడ్ అదనపు ఖాతా లేని SOCKS సేవను ఊహిస్తుంది. ప్రామాణీకరణ మద్దతు కోసం ఎంచుకున్న Java రన్టైమ్ మరియు అమలుకు ప్రత్యేక సమీక్ష అవసరం.
ఇది FTPHTTPClient యొక్క HTTP CONNECT ఇంటర్ఫేస్ కాదు. ఆ సోదరుడు సాధారణ FTPని HTTP సొరంగం ద్వారా నిర్వహిస్తాడు; దాని పోర్ట్ మార్చడం FTPSని జోడించదు. నెట్వర్క్ HTTP ప్రాక్సీని మాత్రమే అనుమతిస్తే, నియంత్రణ మరియు డేటా రెండు మార్గాల్లోనూ CONNECTకు మద్దతు ఇచ్చే FTPS అమలును లేదా నిర్వహించబడుతున్న అనుసరణను ఎంచుకోండి.
క్లయింట్ జీవిత చక్రం అంతటా ప్రాక్సీ కాన్ఫిగరేషన్ను ఉంచండి, మరియు పునర్వినియోగించిన ఇన్స్టాన్స్ను తిరిగి కనెక్ట్ చేసే ముందు దాన్ని సమీక్షించండి: FTPS డిస్కనెక్షన్ సాకెట్ ఫ్యాక్టరీలను రీసెట్ చేస్తుంది. మార్గం విజయవంతంగా కనిపించడానికి సర్టిఫికెట్ తనిఖీలను trust-all managerతో భర్తీ చేయవద్దు.