Apache Commons Net hevur FTPHTTPClient til FTP gjøgnum ein HTTP CONNECT-proxy. Tann nyttiga eginleikin er ikki bert at náa FTP-innritingarportinum: tað setur eisini proxy-tunnlar upp fyri tey passivu dátusambondini, sum listar og fíluflutningar brúka.

Konstruktørin tekur ímóti proxy-endanum og valfríum proxy-innritingarupplýsingum. FTP-ambætarin verður verandi argument til connect, og login tekur ímóti FTP-kontuni:

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();
    }
}

Hesin flutningsbúturin gongur út frá FTP-innflutningunum hjá Commons Net, java.io.IOException, upplýsingum um innritingu frá tólmyndini og eini úttaksstreymu, sum kallarin eigur. remoteFile er ætlaða fílnavnið á ambætarasíðuni. Tólmyndin má eisini lata sína úttaksstreymu aftur á rættari stund.

Set passiva støðu eftir sambandið og áðrenn eina dátuviðgerð. Týðingin av FTPHTTPClient vrapar dátusambondum í virkna støðu. Í passivari støðu samráðir hon dátuendan við FTP og letur upp eitt annað samband til HTTP-proxyina og biður so um eina CONNECT-tunnil til tann endan.

Henda onnur tunnilin greiðir frá eini vanligari mark: proxy-loyvi til FTP-stýriportrin er ikki nóg mikið. Tey loyvdu málini og portini skulu fevna um passivu dátuendarnar hjá ambætaranum. Ein góðkend heilsan og innriting prógva bert, at stýrivegurin virkaði.

Týðingin veitir Basic-proxy-sannroynd, tá ið bæði proxy-brúkaranavn og loyniorð eru til staðar. Hetta er ólíkt FTP USER/PASS-útskiftinum. Ein proxy, sum krevur eina aðra sannroyndarhætt, tørvar ein hóskandi kontakt; konstruktørin ger ikki hvørja skipan atkomiliga.

Commons Net skrivar henda flokkin sum royndar; met hann tí ímóti krøvunum hjá tólmyndini og proxyini, áðrenn tú tekur hann í brúk. Hann er ein FTP-klientur, ikki ein FTPS- ella SFTP-klientur. Til FTPS við tænastu SOCKS, er socket-proxy-vegsmótið hjá FTPSClient ein serstakur klientvegur. CONNECT veitir veginn og dulkóðar ikki sjálvt FTP-innritingarupplýsingar ella fílutilfar.

Halt villum knýttum at tí stigi, sum skapti tær: eitt HTTP-avboð undir tunnilskipan, eitt FTP-innritingaravboð ella eitt FTP-/dátaflutningsbrek. At skifta FTP-loyniorðið kann ikki loysa eina proxy-reglu, sum vrapar passiva dátuportinum.

Skyldar greinar