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 پټنوم بدلول د هغه پراکسي پالیسي حل نشي کولی چې غیر فعال ډیټا پورت ردوي.

اړوندې مقالې