ለCommons Net FTPSClient የSOCKS መንገድ
የCommons Net ሶኬት ፕሮክሲ በይነገጽን ለFTPS ይጠቀሙ፣ የአገልጋዩን አስተናጋጅ ስም፣ ተገብሮ የውሂብ ግንኙነቶችን እና የTLS ማረጋገጫን ሳይጎዱ።
የ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 ግንኙነት ይጀምራል። መተግበሪያው አሁንም መግቢያ፣ የውሂብ ጥበቃ ድርድር፣ የማስተላለፍ አያያዝ እና መገንጠልን ይይዛል። ባዶ የ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 አይተኩ።