Commons Net FTPHTTPClient: tunnellada proxy HTTP ee FTP aan firfircoonayn
Ku tunnellee kontoroolka FTP iyo xidhiidhka xogta aan firfircoonayn iyada oo loo marayo proxy HTTP iyo macmiilka gaarka ah ee Commons Net.
Apache Commons Net waxa uu ka kooban yahay FTPHTTPClient si FTP loogu isticmaalo proxy HTTP CONNECT. Astaamihiisa faa'iidada leh ma aha oo kaliya gaaritaanka dekedda gelitaanka FTP: waxa uu sidoo kale dhisaa tunnellada proxy ee xidhiidhka xogta aan firfircoonayn ee ay isticmaalaan liisaska iyo wareejinta faylalka.
Dhisehu waxa uu aqbalaa barta ugu dambeysa ee proxy-ga iyo aqoonsiga proxy ee ikhtiyaariga ah. Adeegaha FTP ayaa weli ah doodda connect, login-na waxa uu helaa akoonka 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();
}
}
Qaybtan wareejintu waxa ay u qaadanaysaa soo dejinta FTP ee Commons Net, java.io.IOException, doorsoomayaasha aqoonsiga ee ay bixiso barnaamijka iyo qulqulka wax-soo-saarka ee uu leeyahay wacaha. remoteFile waa magaca faylka la doonayo ee dhinaca adeegaha. Barnaamijku sidoo kale waa in uu xidho qulqulkiisa wax-soo-saarka waqtiga ku habboon.
Deji habka aan firfircoonayn ka dib isku xidhka iyo ka hor hawlgalka xogta. Hirgelinta FTPHTTPClient waxa ay diiddaa xidhiidhka xogta habka firfircoon. Habka aan firfircoonayn, waxa ay la gorgortamaa FTP barta ugu dambeysa ee xogta waxana ay u furaysaa xidhiidh kale proxy HTTP, ka dibna waxa ay codsataa tunnellada CONNECT oo u tagta bartaas.
Tunnellada labaad waxa ay sharraxdaa xad caadi ah: fasaxa proxy ee dekedda kontoroolka FTP kuma filna. Meelaha iyo dekedaha la ogolaaday waa in ay ku jiraan barta ugu dambeysa ee xogta aan firfircoonayn ee adeegaha. Salaan iyo gelitaan guul leh waxa ay kaliya caddeeyaan in waddada kontoroolku ay shaqeysay.
Hirgelintu waxa ay bixisaa xaqiijinta proxy Basic marka labada magaca isticmaalaha iyo furaha sirta ee proxy-ga ay joogaan. Taasi way ka duwan tahay is-weydaarsiga FTP USER/PASS. Proxy u baahan hab xaqiijin kale waxa uu u baahan yahay xidhiye ku habboon; dhisehu ma wuxuu heli karaa qorshe kasta.
Commons Net waxa uu fasalkaan u diiwaangeliyay mid tijaabo ah, markaa ku qiimee barnaamijka iyo shuruudaha proxy ka hor inta aanad qaadan. Waa macmiil FTP, ma aha macmiil FTPS ama SFTP. FTPS oo leh adeeg SOCKS diyaar ah, is-dhexgalka socket-proxy ee FTPSClient waa waddo macmiil oo gaar ah. CONNECT waxa uu bixiyaa waddada oo isagu ma sir-gareeyo aqoonsiga FTP ama nuxurka faylalka.
Khaladaadka ku hay xiriirka marxaladda abuurtay: diidmo HTTP inta lagu jiro dhisidda tunnellada, diidmo gelitaan FTP, ama guuldarro wareejin FTP/xog. Beddelka furaha sirta FTP ma xallin karo siyaasadda proxy ee diidda dekedda xogta aan firfircoonayn.