Ich habe ein Problem beim Übertragen von Dateien auf Windows FTP-Server von Unix/Mac/Linux env.Apache FTPS Client storeFile zu Windows FTPS Server von Unix/Linux/Max Ausgabe
während der genau gleiche Java-Code von Windows PC funktioniert. von * Nichts/Mac die Übertragung funktionierte nur mit diesem auf der FTP-Sitzung Befehle
set ftps:initial-prot
set ftp:ssl-force true
set ftp:ssl-protect-data true
set ssl:verify-certificate no
während auf meinem Windows-Rechner sie i did not müssen - ich nehme an, es zu Systemvariable bezieht.
Das ist mein Java-Code
protected FTPClient getClient(DeliveryDetails details) {
return new FTPSClient(false); // the connection is Explicit
}
public void setClient(FTPClient client, DeliveryDetails details) throws Exception {
client.setConnectTimeout(10000);
client.setDefaultTimeout(1000 * 60 * 2);
client.setControlKeepAliveTimeout(300);
client.setDataTimeout(15000);
client.connect(ftpDetails.host, ftpDetails.port);
client.setBufferSize(1024 * 1024);
client.login(ftpDetails.username, ftpDetails.getSensitiveData());
client.setControlEncoding("UTF-8");
client.setFileType(FTP.BINARY_FILE_TYPE);
client.setFileTransferMode(FTP.BLOCK_TRANSFER_MODE);
FTPSClient ftpsClient = (FTPSClient) client;
ftpsClient.execPBSZ(0);
ftpsClient.execPROT("P");
// both with it and without it didnt work ftpsClient.setWantClientAuth(false);
}
public void saveToServer(FTPClient client, File fileName, InputStream stream){
BufferedInputStream bis = new BufferedInputStream(stream);
boolean isSaved = client.storeFile(filename, bis);
client.logout();
}
Was dieser Parameter in der FTPS Apache-Klasse entspricht?
set ftps:initial-prot
set ftp:ssl-force true
set ftp:ssl-protect-data true
set ssl:verify-certificate no
1) nicht unterstützt Was 'ftps gesetzt: initial-prot' und die Andere? Sind das 'lftp' Befehle? Lass uns nicht raten! Erzähl uns! 2) Was macht der Code auf Mac und * nix? Erzähl uns! Genaue Fehlermeldung, Log-Datei, alles! –