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 கடவுச்சொல்லை மாற்றுவது செயலற்ற தரவுத் துறைமுகத்தை நிராகரிக்கும் ப்ராக்ஸி கொள்கையைத் தீர்க்க முடியாது.