Commons Net FTPHTTPClient: پاسسىپ FTP ئۈچۈن HTTP ۋاكالەتچى تونېللىرى
FTP كونترولى ۋە پاسسىپ سانلىق مەلۇمات ئۇلانمىلىرىنى Commons Net نىڭ مەخسۇس خېرىدارى بىلەن HTTP ۋاكالەتچى ئارقىلىق تونېللاشتۇرۇڭ.
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 پارولىنى ئالماشتۇرۇش پاسسىپ سانلىق مەلۇمات ئېغىزىنى رەت قىلىدىغان ۋاكالەتچى سىياسىتىنى ھەل قىلالمايدۇ.