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 මුරපදය වෙනස් කිරීමෙන් නිෂ්ක්‍රීය දත්ත තොටුපළ ප්‍රතික්ෂේප කරන ප්‍රොක්සි ප්‍රතිපත්තිය විසඳිය නොහැක.

අදාළ ලිපි