Commons Net හි FTPSClient සඳහා SOCKS මාර්ගය
සේවාදායකයේ සත්කාරක නාමය, අක්රීය දත්ත සම්බන්ධතා සහ TLS සත්යාපනය රැක ගනිමින් FTPS සඳහා Commons Net හි socket proxy අතුරුමුහුණත භාවිත කරන්න.
SOCKS මැදිහත්කරුවෙකු ලබා ගත හැකි විට, Commons Net හි FTPSClient හට උරුම socket proxy අතුරුමුහුණත භාවිත කළ හැක. 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 ක්රියාත්මක කිරීම එහි දත්ත socket ද වින්යාස කළ proxy හරහා සාදා පසුව TLS ස්ථරය එකතු කරයි. පිවිසුමෙන් පසු අක්රීය මාදිලිය භාවිත කර සාමාන්ය FTPS API හරහා අවශ්ය ආරක්ෂිත දත්ත නාලිකාව සාකච්ඡා කරන්න. සාර්ථක පාලක සම්බන්ධතාවයක් එම කාර්යය සම්පූර්ණ නොකරයි; අක්රීය දත්ත සම්බන්ධතාවය වෙනම මාර්ගයක් ලෙසම පවතී.
කේතය අමතර ගිණුමක් නොමැති SOCKS සේවාවක් උපකල්පනය කරයි. සත්යාපන සහාය සඳහා තෝරාගත් Java ක්රියාකාරී පරිසරය සහ යෙදවීම පිළිබඳ වෙනම සමාලෝචනයක් අවශ්යයි.
මෙය FTPHTTPClient හි HTTP CONNECT අතුරුමුහුණත නොවේ. එම සහෝදරයා සාමාන්ය FTP එක HTTP උමං හරහා හසුරුවයි; එහි port එක වෙනස් කිරීමෙන් FTPS එකතු නොවේ. ජාලය HTTP proxy එකට පමණක් ඉඩ දෙන්නේ නම්, පාලක සහ දත්ත යන දෙමාර්ගයේම CONNECT සහාය දෙන FTPS ක්රියාත්මක කිරීමක් හෝ නඩත්තු කරන අනුවර්තනයක් තෝරන්න.
සේවාලාභියාගේ සම්පූර්ණ ජීවන චක්රය පුරා proxy වින්යාසය රඳවා ගන්න, සහ නැවත භාවිත කළ අවස්ථාවක් නැවත සම්බන්ධ කිරීමට පෙර එය සමාලෝචනය කරන්න: FTPS විසන්ධි කිරීම socket කර්මාන්තශාලා නැවත සකසයි. මාර්ගය සාර්ථක ලෙස පෙනෙන පිණිස සහතික පරීක්ෂා trust-all manager එකකින් ප්රතිස්ථාපනය නොකරන්න.