You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by Norbert Lazzeri <el...@gmx.de> on 2009/04/16 17:18:41 UTC
FTPSClient.listNames()
Hi,
im new to commons-net. for my company-app i need a ftp via ssl connection
to upload/retrieve some files
Remote system is UNIX Type: L8
connection works fine, also changing the working directory. however when i
try to get a file-listening, i only get a null value / empty result-lists.
getReplyString() says: 521 Data connections must be encrypted
i could only find few code-snippets for ftps. here is what ive done (this
is mixed groovy/java code, but shouldnt be harder to read than usual
java-code). i hope you guyes can give me some hints how to enable
encryption:
def ftps = new FTPSClient();
ftps.addProtocolCommandListener(new PrintCommandListener(new
PrintWriter(System.out)));
try {
int reply;
ftps.connect(data.server);
//ftps.enterLocalPassiveMode()
System.out.println("Connected to " + data.server + ".");
// After connection attempt, you should check the reply code
to verify
// success.
reply = ftps.replyCode;
if (!FTPReply.isPositiveCompletion(reply)) {
ftps.disconnect();
System.err.println("FTP server refused connection.");
System.exit(1);
}
if (ftps.isConnected()) {
try {
if (!ftps.login(data.user, data.password)) {
ftps.logout();
ftps.disconnect();
println("user/password not accepted")
System.exit(1)
} else {
println "login successfull"
System.out.println("Remote system is " +
ftps.systemName);
}
}
catch (IOException f) {
System.err.println("Could not connect to server.");
f.printStackTrace();
System.exit(1);
}
}
if (!ftps.changeWorkingDirectory(data.userDataDirectory))
println "could not change to directory:
${data.userDataDirectory} "
//delete if file allready exists
def filelist = ftps.listFiles() //a ftps.listNames()
returnes null, listFiles returnes an empty list
println ftps.getReplyString()
filelist.each {FTPFile f ->
if (f != null)
if (f.name.equals(resultlist.name))
ftps.deleteFile(resultlist.name)
} catch (IOException e) {
System.err.println("Could not connect to server.");
e.printStackTrace();
System.exit(1);
}
system-out:
220 XXXXX
AUTH TLS
234 Proceed with negotiation.
Connected to XXXXX
USER XXXXX
331 Please specify the password.
PASS XXXXX
230 Login successful.
login successfull
SYST
215 UNIX Type: L8
Remote system is UNIX Type: L8
CWD userdata
250 Directory successfully changed.
PASV
227 Entering Passive Mode (194,88,217,30,41,196)
LIST
521 Data connections must be encrypted.
521 Data connections must be encrypted.
PASV
227 Entering Passive Mode (194,88,217,30,77,95)
NLST
521 Data connections must be encrypted.
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org
Re: FTPSClient.listNames()
Posted by Norbert Lazzeri <el...@gmx.de>.
found this issue:
https://issues.apache.org/jira/browse/NET-235?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
this solves my problem.
cheers
Norbert
On Thu, 16 Apr 2009 17:18:41 +0200, Norbert Lazzeri <el...@gmx.de> wrote:
>
> Hi,
>
> im new to commons-net. for my company-app i need a ftp via ssl
> connection to upload/retrieve some files
>
> Remote system is UNIX Type: L8
>
> connection works fine, also changing the working directory. however when
> i try to get a file-listening, i only get a null value / empty
> result-lists.
>
> getReplyString() says: 521 Data connections must be encrypted
>
>
> i could only find few code-snippets for ftps. here is what ive done
> (this is mixed groovy/java code, but shouldnt be harder to read than
> usual java-code). i hope you guyes can give me some hints how to enable
> encryption:
>
>
>
> def ftps = new FTPSClient();
>
> ftps.addProtocolCommandListener(new PrintCommandListener(new
> PrintWriter(System.out)));
>
> try {
> int reply;
>
> ftps.connect(data.server);
> //ftps.enterLocalPassiveMode()
> System.out.println("Connected to " + data.server + ".");
>
> // After connection attempt, you should check the reply
> code to verify
> // success.
> reply = ftps.replyCode;
>
> if (!FTPReply.isPositiveCompletion(reply)) {
> ftps.disconnect();
> System.err.println("FTP server refused connection.");
> System.exit(1);
> }
> if (ftps.isConnected()) {
> try {
> if (!ftps.login(data.user, data.password)) {
> ftps.logout();
> ftps.disconnect();
> println("user/password not accepted")
> System.exit(1)
> } else {
> println "login successfull"
> System.out.println("Remote system is " +
> ftps.systemName);
> }
> }
> catch (IOException f) {
> System.err.println("Could not connect to server.");
> f.printStackTrace();
> System.exit(1);
> }
> }
>
> if (!ftps.changeWorkingDirectory(data.userDataDirectory))
> println "could not change to directory:
> ${data.userDataDirectory} "
>
> //delete if file allready exists
> def filelist = ftps.listFiles() //a
> ftps.listNames() returnes null, listFiles returnes an empty list
> println ftps.getReplyString()
> filelist.each {FTPFile f ->
> if (f != null)
> if (f.name.equals(resultlist.name))
> ftps.deleteFile(resultlist.name)
>
> } catch (IOException e) {
> System.err.println("Could not connect to server.");
> e.printStackTrace();
> System.exit(1);
> }
>
>
> system-out:
> 220 XXXXX
> AUTH TLS
> 234 Proceed with negotiation.
> Connected to XXXXX
> USER XXXXX
> 331 Please specify the password.
> PASS XXXXX
> 230 Login successful.
> login successfull
> SYST
> 215 UNIX Type: L8
> Remote system is UNIX Type: L8
> CWD userdata
> 250 Directory successfully changed.
> PASV
> 227 Entering Passive Mode (194,88,217,30,41,196)
> LIST
> 521 Data connections must be encrypted.
> 521 Data connections must be encrypted.
>
> PASV
> 227 Entering Passive Mode (194,88,217,30,77,95)
> NLST
> 521 Data connections must be encrypted.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
> For additional commands, e-mail: user-help@commons.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org