Commons Net FTPHTTPClient: পেছিভাগ FTP ৰ বাবে HTTP প্ৰক্সি টানেল
Commons Net ৰ সমৰ্পিত ক্লায়েন্টৰ সৈতে HTTP প্ৰক্সিৰ জৰিয়তে FTP নিয়ন্ত্ৰণ আৰু পেছিভাগ তথ্য সংযোগ টানেল কৰক।
Apache Commons Net ত HTTP CONNECT প্ৰক্সিৰ জৰিয়তে FTP ৰ বাবে FTPHTTPClient আছে। ইয়াৰ উপযোগী বৈশিষ্ট্য কেৱল FTP লগইন পৰ্টত উপনীত হোৱা নহয়: ই লিষ্টিং আৰু ফাইল স্থানান্তৰত ব্যৱহৃত পেছিভাগ তথ্য সংযোগৰ বাবেও প্ৰক্সি টানেল স্থাপন কৰে।
কনষ্ট্ৰাক্টৰে প্ৰক্সি এণ্ডপইণ্ট আৰু ঐচ্ছিক প্ৰক্সি প্ৰমাণপত্ৰ গ্ৰহণ কৰে। FTP চাৰ্ভাৰ connect ৰ আৰ্গুমেণ্ট হৈয়েই থাকে, আৰু login এ FTP একাউণ্ট গ্ৰহণ কৰে:
FTPHTTPClient ftp = new FTPHTTPClient(
"proxy.example.net", 8080, proxyUser, proxyPassword
);
try {
ftp.connect("ftp.example.net", 21);
if (!FTPReply.isPositiveCompletion(ftp.getReplyCode())) {
throw new IOException(ftp.getReplyString());
}
if (!ftp.login(ftpUser, ftpPassword)) {
throw new IOException(ftp.getReplyString());
}
ftp.enterLocalPassiveMode();
if (!ftp.setFileType(FTP.BINARY_FILE_TYPE)
|| !ftp.retrieveFile(remoteFile, output)) {
throw new IOException(ftp.getReplyString());
}
ftp.logout();
} finally {
if (ftp.isConnected()) {
ftp.disconnect();
}
}
এই স্থানান্তৰ অংশই Commons Net ৰ FTP আমদানি, java.io.IOException, এপ্লিকেচনে যোগান ধৰা প্ৰমাণপত্ৰ ভেৰিয়েবল আৰু কলাৰৰ অধীনৰ এটা আউটপুট ষ্ট্ৰিম ধৰি লয়। remoteFile হৈছে চাৰ্ভাৰ পক্ষৰ অভিপ্ৰেত ফাইলনাম। এপ্লিকেচনে উপযুক্ত স্থানত নিজৰ আউটপুট ষ্ট্ৰিমো বন্ধ কৰিব লাগিব।
সংযোগ কৰাৰ পিছত আৰু তথ্য কাৰ্যৰ আগতে পেছিভাগ ম'ড ছেট কৰক। FTPHTTPClient ৰ ৰূপায়ণে সক্ৰিয় ম'ডত তথ্য সংযোগ নাকচ কৰে। পেছিভাগ ম'ডত ই FTP ৰ সৈতে তথ্য এণ্ডপইণ্টৰ বাবে আলোচনা কৰে আৰু HTTP প্ৰক্সিলৈ আন এটা সংযোগ খোলে, তাৰ পিছত সেই এণ্ডপইণ্টলৈ CONNECT টানেল অনুৰোধ কৰে।
সেই দ্বিতীয় টানেলে এটা সাধাৰণ সীমা ব্যাখ্যা কৰে: FTP নিয়ন্ত্ৰণ পৰ্টৰ বাবে প্ৰক্সি অনুমতি যথেষ্ট নহয়। অনুমোদিত গন্তব্য আৰু পৰ্টসমূহত চাৰ্ভাৰৰ পেছিভাগ তথ্য এণ্ডপইণ্ট অন্তৰ্ভুক্ত থাকিব লাগিব। সফল অভিবাদন আৰু লগইনে কেৱল নিয়ন্ত্ৰণ পথটোৱে কাম কৰিছে বুলি প্ৰমাণ কৰে।
প্ৰক্সি ব্যৱহাৰকাৰীনাম আৰু পাছৱৰ্ড দুয়োটা থাকিলে ৰূপায়ণে Basic প্ৰক্সি প্ৰমাণীকৰণ যোগান ধৰে। এইটো FTP USER/PASS বিনিময়ৰ পৰা পৃথক। আন প্ৰমাণীকৰণ পদ্ধতি বিচৰা প্ৰক্সিৰ বাবে উপযুক্ত কনেক্টৰ প্ৰয়োজন; কনষ্ট্ৰাক্টৰে সকলো স্কিম উপলব্ধ নকৰে।
Commons Net এ এই শ্ৰেণীক পৰীক্ষামূলক বুলি নথিভুক্ত কৰিছে, গতিকে গ্ৰহণ কৰাৰ আগতে এপ্লিকেচন আৰু প্ৰক্সিৰ প্ৰয়োজনীয়তাৰ সৈতে মূল্যায়ন কৰক। ই FTP ক্লায়েন্ট, FTPS বা SFTP ক্লায়েন্ট নহয়। SOCKS সেৱা উপলব্ধ থাকিলে FTPS ৰ বাবে FTPSClient ৰ চকেট-প্ৰক্সি ইন্টাৰফেচ এটা পৃথক ক্লায়েন্ট পথ। CONNECT এ পথটো যোগান ধৰে আৰু নিজে FTP প্ৰমাণপত্ৰ বা ফাইলৰ সমল এনক্ৰিপ্ট নকৰে।
ত্ৰুটিসমূহ উৎপন্ন কৰা পৰ্যায়ৰ সৈতে সংযুক্ত ৰাখক: টানেল স্থাপনৰ সময়ত HTTP প্ৰত্যাখ্যান, FTP লগইন অস্বীকাৰ, বা FTP/তথ্য স্থানান্তৰ বিফলতা। FTP পাছৱৰ্ড সলনি কৰিলে পেছিভাগ তথ্য পৰ্ট নাকচ কৰা প্ৰক্সি নীতি সমাধান কৰিব নোৱাৰে।