SOCKS-leið fyrir FTPSClient Commons Net
Notaðu socket-proxy viðmót Commons Net fyrir FTPS og varðveittu hýsingarheiti þjónsins, óvirkar gagnatengingar og TLS-staðfestingu.
Þegar SOCKS-milliliður er tiltækur getur FTPSClient Commons Net notað arfda socket-proxy viðmótið. Hafðu FTPS-þjóninn sem áfangastað tengingarinnar:
var client = new org.apache.commons.net.ftp.FTPSClient(false);
client.setProxy(new java.net.Proxy(
java.net.Proxy.Type.SOCKS,
new java.net.InetSocketAddress("proxy.example", 1080)));
client.setTrustManager(null);
client.setEndpointCheckingEnabled(true);
client.setConnectTimeout(10000);
client.connect("ftps.example", 21);
Þetta hefur sér skýra FTPS-tengingu. Forritið ber enn ábyrgð á innskráningu, samningum um gagnavernd, meðhöndlun flutnings og aftengingu. Stillingin null trust manager velur sjálfgefna trust manager JVM í stað vottorðsathugunar Commons Net sem byggir aðeins á dagsetningu. Notaðu ætlaða trust store og hýsingarheiti vottorðs þjónsins.
Við óvirkar flutningar býr núverandi FTPSClient-útfærsla til gagnasokkið sitt líka í gegnum stillta proxyið og bætir síðan TLS-laginu við. Eftir innskráningu skaltu nota óvirkt ham og semja um nauðsynlega varða gagnarás í gegnum venjulegt FTPS API. Árangursrík stýritenging klárar ekki þá vinnu; óvirka gagnatengingin er áfram sér leið.
Kóðinn gerir ráð fyrir SOCKS-þjónustu án viðbótarreiknings. Stuðningur við auðkenningu þarf sérstaka skoðun fyrir valið Java-umhverfi og uppsetningu.
Þetta er ekki HTTP CONNECT-viðmót FTPHTTPClient. Það systkini meðhöndlar venjulegt FTP í gegnum HTTP-göng. Að breyta gátt þess bætir ekki FTPS við. Ef netið leyfir aðeins HTTP-proxy skaltu velja FTPS-útfærslu eða viðhaldið aðlögun sem styður CONNECT á bæði stýri- og gagnaleið.
Haltu proxy-stillingunni út líftíma biðlarans og farðu yfir hana áður en endurnýtt tilvik er tengt aftur: aftenging FTPS endurstillir socket-verksmiðjur. Ekki skipta vottorðsathugunum út fyrir trust-all manager til að láta leiðina virðast árangursríka.