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 ପାସୱାର୍ଡ ବଦଳାଇବା ଦ୍ୱାରା ପାସିଭ୍ ଡାଟା ପୋର୍ଟକୁ ଅଗ୍ରାହ୍ୟ କରୁଥିବା ପ୍ରକ୍ସି ନୀତି ସମାଧାନ ହୋଇପାରିବ ନାହିଁ।