A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
package org.apache.commons.net.ftp
FTPClient encapsulates all the functionality necessary to store and retrieve files from an FTP server. This class takes care of all low level details of interacting with an FTP server and provides a convenient higher level interface. As with all classes derived from {@link org.apache.commons.net.Soc...
View Full Code of org.apache.commons.net.ftp.FTPClient
password = "anonymous".toCharArray();
}
try
{
final FTPClient client = new FTPClient();
String key = FtpFileSystemConfigBuilder.getInstance().getEntryParser(fileSystemOptions);
if (key != null)
{
FTPClientConfig config = new FTPClientConfig(key);
String serverLanguageCode = FtpFileSystemConfigBuilder.getInstance().getServerLanguageCode(fileSystemOptions);
if (serverLanguageCode != null)
{
config.setServerLanguageCode(serverLanguageCode);
}
String defaultDateFormat = FtpFileSystemConfigBuilder.getInstance().getDefaultDateFormat(fileSystemOptions);
if (defaultDateFormat != null)
{
config.setDefaultDateFormatStr(defaultDateFormat);
}
String recentDateFormat = FtpFileSystemConfigBuilder.getInstance().getRecentDateFormat(fileSystemOptions);
if (recentDateFormat != null)
{
config.setRecentDateFormatStr(recentDateFormat);
}
String serverTimeZoneId = FtpFileSystemConfigBuilder.getInstance().getServerTimeZoneId(fileSystemOptions);
if (serverTimeZoneId != null)
{
config.setServerTimeZoneId(serverTimeZoneId);
}
String[] shortMonthNames = FtpFileSystemConfigBuilder.getInstance().getShortMonthNames(fileSystemOptions);
if (shortMonthNames != null)
{
StringBuffer shortMonthNamesStr = new StringBuffer(40);
for (int i = 0; i<shortMonthNames.length; i++)
{
if (shortMonthNamesStr.length()>0)
{
shortMonthNamesStr.append("|");
}
shortMonthNamesStr.append(shortMonthNames[i]);
}
config.setShortMonthNames(shortMonthNamesStr.toString());
}
client.configure(config);
}
FTPFileEntryParserFactory myFactory = FtpFileSystemConfigBuilder.getInstance().getEntryParserFactory(fileSystemOptions);
if (myFactory != null)
{
client.setParserFactory(myFactory);
}
try
{
client.connect(hostname, port);
int reply = client.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply))
{
throw new FileSystemException("vfs.provider.ftp/connect-rejected.error", hostname);
}
// Login
if (!client.login(
UserAuthenticatorUtils.toString(username),
UserAuthenticatorUtils.toString(password)))
{
throw new FileSystemException("vfs.provider.ftp/login.error", new Object[]{hostname, UserAuthenticatorUtils.toString(username)}, null);
}
// Set binary mode
if (!client.setFileType(FTP.BINARY_FILE_TYPE))
{
throw new FileSystemException("vfs.provider.ftp/set-binary.error", hostname);
}
// Set dataTimeout value
Integer dataTimeout = FtpFileSystemConfigBuilder.getInstance().getDataTimeout(fileSystemOptions);
if (dataTimeout != null)
{
client.setDataTimeout(dataTimeout.intValue());
}
// Change to root by default
// All file operations a relative to the filesystem-root
// String root = getRoot().getName().getPath();
Boolean userDirIsRoot = FtpFileSystemConfigBuilder.getInstance().getUserDirIsRoot(fileSystemOptions);
if (workingDirectory != null && (userDirIsRoot == null || !userDirIsRoot.booleanValue()))
{
if (!client.changeWorkingDirectory(workingDirectory))
{
throw new FileSystemException("vfs.provider.ftp/change-work-directory.error", workingDirectory);
}
}
Boolean passiveMode = FtpFileSystemConfigBuilder.getInstance().getPassiveMode(fileSystemOptions);
if (passiveMode != null && passiveMode.booleanValue())
{
client.enterLocalPassiveMode();
}
}
catch (final IOException e)
{
if (client.isConnected())
{
client.disconnect();
}
throw e;
}
return client;
password = "anonymous".toCharArray();
}
try
{
final FTPClient client = new FTPClient();
configureClient(fileSystemOptions, client);
FTPFileEntryParserFactory myFactory =
FtpFileSystemConfigBuilder.getInstance().getEntryParserFactory(fileSystemOptions);
if (myFactory != null)
{
client.setParserFactory(myFactory);
}
try
{
client.connect(hostname, port);
int reply = client.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply))
{
throw new FileSystemException("vfs.provider.ftp/connect-rejected.error", hostname);
}
// Login
if (!client.login(
UserAuthenticatorUtils.toString(username),
UserAuthenticatorUtils.toString(password)))
{
throw new FileSystemException("vfs.provider.ftp/login.error",
new Object[]{hostname, UserAuthenticatorUtils.toString(username)}, null);
}
// Set binary mode
if (!client.setFileType(FTP.BINARY_FILE_TYPE))
{
throw new FileSystemException("vfs.provider.ftp/set-binary.error", hostname);
}
// Set dataTimeout value
Integer dataTimeout = FtpFileSystemConfigBuilder.getInstance().getDataTimeout(fileSystemOptions);
if (dataTimeout != null)
{
client.setDataTimeout(dataTimeout.intValue());
}
Integer socketTimeout = FtpFileSystemConfigBuilder.getInstance().getSoTimeout(fileSystemOptions);
if (socketTimeout != null)
{
client.setSoTimeout(socketTimeout.intValue());
}
// Change to root by default
// All file operations a relative to the filesystem-root
// String root = getRoot().getName().getPath();
Boolean userDirIsRoot = FtpFileSystemConfigBuilder.getInstance().getUserDirIsRoot(fileSystemOptions);
if (workingDirectory != null && (userDirIsRoot == null || !userDirIsRoot.booleanValue()))
{
if (!client.changeWorkingDirectory(workingDirectory))
{
throw new FileSystemException("vfs.provider.ftp/change-work-directory.error", workingDirectory);
}
}
Boolean passiveMode = FtpFileSystemConfigBuilder.getInstance().getPassiveMode(fileSystemOptions);
if (passiveMode != null && passiveMode.booleanValue())
{
client.enterLocalPassiveMode();
}
String controlEncoding = FtpFileSystemConfigBuilder.getInstance().getControlEncoding(fileSystemOptions);
if (controlEncoding != null)
{
client.setControlEncoding(controlEncoding);
}
}
catch (final IOException e)
{
if (client.isConnected())
{
client.disconnect();
}
throw e;
}
return client;
password = "anonymous";
}
try
{
final FTPClient client = new FTPClient();
FTPFileEntryParserFactory myFactory = FtpFileSystemConfigBuilder.getInstance().getEntryParserFactory(fileSystemOptions);
if (myFactory != null)
{
client.setParserFactory(myFactory);
}
try
{
if(System.getProperty("org.apache.commons.net.socketFactory", null)!=null) {
try {
SocketFactory socketFactory = (SocketFactory) Class.forName(System.getProperty("org.apache.commons.net.socketFactory")).newInstance();
client.setSocketFactory(socketFactory);
} catch(Throwable t) {
throw new FileSystemException(t);
}
}
client.connect(hostname, port);
int reply = client.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply))
{
throw new FileSystemException("vfs.provider.ftp/connect-rejected.error", hostname);
}
// Login
if (!client.login(username, password))
{
throw new FileSystemException("vfs.provider.ftp/login.error", new Object[]{hostname, username}, null);
}
// Set binary mode
if (!client.setFileType(FTP.BINARY_FILE_TYPE))
{
throw new FileSystemException("vfs.provider.ftp/set-binary.error", hostname);
}
// Set dataTimeout value
Integer dataTimeout = FtpFileSystemConfigBuilder.getInstance().getDataTimeout(fileSystemOptions);
if (dataTimeout != null)
{
client.setDataTimeout(dataTimeout.intValue());
}
// Change to root by default
// All file operations a relative to the filesystem-root
// String root = getRoot().getName().getPath();
Boolean userDirIsRoot = FtpFileSystemConfigBuilder.getInstance().getUserDirIsRoot(fileSystemOptions);
if (workingDirectory != null && (userDirIsRoot == null || !userDirIsRoot.booleanValue()))
{
if (!client.changeWorkingDirectory(workingDirectory))
{
throw new FileSystemException("vfs.provider.ftp/change-work-directory.error", workingDirectory);
}
}
Boolean passiveMode = FtpFileSystemConfigBuilder.getInstance().getPassiveMode(fileSystemOptions);
if (passiveMode != null && passiveMode.booleanValue())
{
client.enterLocalPassiveMode();
}
}
catch (final IOException e)
{
if (client.isConnected())
{
client.disconnect();
}
throw e;
}
return client;
if (args.length == 4)
{
dir = args[3];
}
FTPClient client = new FTPClient();
client.connect(host);
int reply = client.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply))
{
throw new IllegalArgumentException("cant connect: " + reply);
}
if (!client.login(user, pass))
{
throw new IllegalArgumentException("login failed");
}
client.enterLocalPassiveMode();
OutputStream os = client.storeFileStream(dir + "/test.txt");
if (os == null)
{
throw new IllegalStateException(client.getReplyString());
}
os.write("test".getBytes());
os.close();
client.completePendingCommand();
if (dir != null)
{
if (!client.changeWorkingDirectory(dir))
{
throw new IllegalArgumentException("change dir to '" + dir + "' failed");
}
}
System.err.println("System: " + client.getSystemName());
FTPFile[] files = client.listFiles();
for (int i = 0; i < files.length; i++)
{
FTPFile file = files[i];
if (file == null)
{
System.err.println("#" + i + ": " + null);
}
else
{
System.err.println("#" + i + ": " + file.getRawListing());
System.err.println("#" + i + ": " + file.toString());
System.err.println("\t name:" + file.getName() + " type:" + file.getType());
}
}
client.disconnect();
}
}
if (args.length == 4)
{
dir = args[3];
}
FTPClient client = new FTPClient();
client.connect(host);
int reply = client.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply))
{
throw new IllegalArgumentException("cant connect: " + reply);
}
if (!client.login(user, pass))
{
throw new IllegalArgumentException("login failed");
}
client.enterLocalPassiveMode();
OutputStream os = client.storeFileStream(dir + "/test.txt");
if (os == null)
{
throw new IllegalStateException(client.getReplyString());
}
os.write("test".getBytes());
os.close();
client.completePendingCommand();
if (dir != null)
{
if (!client.changeWorkingDirectory(dir))
{
throw new IllegalArgumentException("change dir to '" + dir + "' failed");
}
}
System.err.println("System: " + client.getSystemName());
FTPFile[] files = client.listFiles();
for (int i = 0; i < files.length; i++)
{
FTPFile file = files[i];
if (file == null)
{
System.err.println("#" + i + ": " + null);
}
else
{
System.err.println("#" + i + ": " + file.getRawListing());
System.err.println("#" + i + ": " + file.toString());
System.err.println("\t name:" + file.getName() + " type:" + file.getType());
}
}
client.disconnect();
}
}
if (args.length == 4)
{
dir = args[3];
}
FTPClient client = new FTPClient();
client.connect(host);
int reply = client.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply))
{
throw new IllegalArgumentException("cant connect: " + reply);
}
if (!client.login(user, pass))
{
throw new IllegalArgumentException("login failed");
}
client.enterLocalPassiveMode();
OutputStream os = client.storeFileStream(dir + "/test.txt");
if (os == null)
{
throw new IllegalStateException(client.getReplyString());
}
os.write("test".getBytes());
os.close();
client.completePendingCommand();
if (dir != null)
{
if (!client.changeWorkingDirectory(dir))
{
throw new IllegalArgumentException("change dir to '" + dir + "' failed");
}
}
System.err.println("System: " + client.getSystemName());
FTPFile[] files = client.listFiles();
for (int i = 0; i < files.length; i++)
{
FTPFile file = files[i];
if (file == null)
{
System.err.println("#" + i + ": " + null);
}
else
{
System.err.println("#" + i + ": " + file.toString());
System.err.println("\t name:" + file.getName());
}
}
client.disconnect();
}
}
// reboot server to clear stats
server.stop();
initServer();
// let's generate some stats
FTPClient client1 = new FTPClient();
client1.connect("localhost", getListenerPort());
assertTrue(client1.login(ADMIN_USERNAME, ADMIN_PASSWORD));
assertTrue(client1.makeDirectory("foo"));
assertTrue(client1.makeDirectory("foo2"));
assertTrue(client1.removeDirectory("foo2"));
assertTrue(client1.storeFile(TEST_FILENAME, new ByteArrayInputStream(TESTDATA)));
assertTrue(client1.storeFile(TEST_FILENAME, new ByteArrayInputStream(TESTDATA)));
assertTrue(client1.retrieveFile(TEST_FILENAME, new ByteArrayOutputStream()));
assertTrue(client1.deleteFile(TEST_FILENAME));
assertTrue(client1.logout());
client1.disconnect();
FTPClient client2 = new FTPClient();
client2.connect("localhost", getListenerPort());
assertTrue(client2.login(ANONYMOUS_USERNAME, ANONYMOUS_PASSWORD));
// done setting up stats
// send a command to verify that we are correctly logged in
assertTrue(FTPReply.isPositiveCompletion(client2.noop()));
client.connect("localhost", getListenerPort());
assertTrue(client.login(ADMIN_USERNAME, ADMIN_PASSWORD));
if(server.getServerContext().getFtpStatistics().getCurrentLoginNumber() != 2) {
this.uri = uri;
}
public Object makeObject() throws Exception
{
FTPClient client = new FTPClient();
if (uri.getPort() > 0)
{
client.connect(uri.getHost(), uri.getPort());
}
else
{
client.connect(uri.getHost());
}
if (!FTPReply.isPositiveCompletion(client.getReplyCode()))
{
throw new IOException("Ftp connect failed: " + client.getReplyCode());
}
if (!client.login(uri.getUser(), uri.getPassword()))
{
throw new IOException("Ftp login failed: " + client.getReplyCode());
}
if (!client.setFileType(FTP.BINARY_FILE_TYPE))
{
throw new IOException("Ftp error. Couldn't set BINARY transfer type: " + client.getReplyCode());
}
return client;
}
public void destroyObject(Object obj) throws Exception
// reboot server to clear stats
server.stop();
initServer();
// let's generate some stats
FTPClient client1 = new FTPClient();
client1.connect("localhost", getListenerPort());
assertTrue(client1.login(ADMIN_USERNAME, ADMIN_PASSWORD));
assertTrue(client1.makeDirectory("foo"));
assertTrue(client1.makeDirectory("foo2"));
assertTrue(client1.removeDirectory("foo2"));
assertTrue(client1.storeFile(TEST_FILENAME, new ByteArrayInputStream(TESTDATA)));
assertTrue(client1.storeFile(TEST_FILENAME, new ByteArrayInputStream(TESTDATA)));
assertTrue(client1.retrieveFile(TEST_FILENAME, new ByteArrayOutputStream()));
assertTrue(client1.deleteFile(TEST_FILENAME));
assertTrue(client1.logout());
client1.disconnect();
FTPClient client2 = new FTPClient();
client2.connect("localhost", getListenerPort());
assertTrue(client2.login(ANONYMOUS_USERNAME, ANONYMOUS_PASSWORD));
// done setting up stats
client.connect("localhost", getListenerPort());
client.login(ADMIN_USERNAME, ADMIN_PASSWORD);
* public void testLoginWithMaxConnectionsMulti() throws Exception { for(int
* i = 0; i<50; i++) { testLoginWithMaxConnections(); } }
*/
public void testLoginWithMaxConnections() throws Exception {
FTPClient client1 = new FTPClient();
FTPClient client2 = new FTPClient();
FTPClient client3 = new FTPClient();
FTPClient client4 = new FTPClient();
try {
client1.connect("localhost", getListenerPort());
client2.connect("localhost", getListenerPort());
client3.connect("localhost", getListenerPort());
client4.connect("localhost", getListenerPort());
assertTrue(client1.login(TESTUSER1_USERNAME, TESTUSER_PASSWORD));
assertTrue(client2.login(TESTUSER1_USERNAME, TESTUSER_PASSWORD));
assertTrue(client3.login(TESTUSER1_USERNAME, TESTUSER_PASSWORD));
try {
assertTrue(client4.login(TESTUSER1_USERNAME, TESTUSER_PASSWORD));
assertEquals(421, client.getReplyCode());
fail("Must throw FTPConnectionClosedException");
} catch (FTPConnectionClosedException e) {
// expected
}
* public void testLoginWithMaxConnectionsMulti() throws Exception { for(int
* i = 0; i<50; i++) { testLoginWithMaxConnections(); } }
*/
public void testLoginWithMaxConnections() throws Exception {
FTPClient client1 = new FTPClient();
FTPClient client2 = new FTPClient();
FTPClient client3 = new FTPClient();
FTPClient client4 = new FTPClient();
try {
client1.connect("localhost", getListenerPort());
client2.connect("localhost", getListenerPort());
client3.connect("localhost", getListenerPort());
client4.connect("localhost", getListenerPort());
assertTrue(client1.login(TESTUSER1_USERNAME, TESTUSER_PASSWORD));
assertTrue(client2.login(TESTUSER1_USERNAME, TESTUSER_PASSWORD));
assertTrue(client3.login(TESTUSER1_USERNAME, TESTUSER_PASSWORD));
try {
assertTrue(client4.login(TESTUSER1_USERNAME, TESTUSER_PASSWORD));
assertEquals(421, client.getReplyCode());
fail("Must throw FTPConnectionClosedException");
} catch (FTPConnectionClosedException e) {
// expected
}
protected FTPClient createFTP() throws IOException, JMSException {
String connectUrl = url.getHost();
setUserInformation(url.getUserInfo());
int port = url.getPort() < 1 ? 21 : url.getPort();
FTPClient ftp = new FTPClient();
try {
ftp.connect(connectUrl, port);
} catch(ConnectException e) {
throw new JMSException("Problem connecting the FTP-server");
}
if(!ftp.login(ftpUser, ftpPass)) {
ftp.quit();
ftp.disconnect();
throw new JMSException("Cant Authentificate to FTP-Server");
}
return ftp;
}
*
* @throws Exception
*/
public void testServer() throws Exception
{
FTPClient ftpClient = new FTPClient();
ftpClient.connect("localhost", Server.DEFAULT_PORT);
ftpClient.login("admin", "admin");
}
public void tearDown()
{
ftpServer.stop();
username2 = args[5];
password2 = args[6];
file2 = args[7];
listener = new PrintCommandListener(new PrintWriter(System.out));
ftp1 = new FTPClient();
ftp1.addProtocolCommandListener(listener);
ftp2 = new FTPClient();
ftp2.addProtocolCommandListener(listener);
try
{
int reply;
client.login(ADMIN_USERNAME, ADMIN_PASSWORD);
}
@Override
protected FTPClient createFTPClient() throws Exception {
FTPClient client = new FTPClient();
client.setControlEncoding("UTF-8");
return client;
}
public void testStoreWithUTF8FileName() throws Exception {
client.login(ADMIN_USERNAME, ADMIN_PASSWORD);
}
protected FTPClient createFTPClient() throws Exception {
FTPClient client = new FTPClient();
client.setControlEncoding("UTF-8");
return client;
}
public void testStoreWithUTF8FileName() throws Exception {
}
super.disconnect(client);
}
protected SocketClient createSocketClient() {
return new FTPClient();
}
}
this.localFile = localFile;
this.fileType = fileType;
this.userName = userName;
this.password = password;
ftpClient = new FTPClient();
if (Externals.isDebugging)
ftpClient.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)));
}
public int ftp() throws Exception {
*/
private void open(boolean force) throws XException
{
if ((!mOpen) || force)
{
mFTPClient = new FTPClient();
/*
* Connect to the FTP Server
*/
Configuration config = Configuration.getInstance();
username = args[base++];
password = args[base++];
remote = args[base++];
local = args[base];
ftp = new FTPClient();
ftp.addProtocolCommandListener(new PrintCommandListener(
new PrintWriter(System.out)));
try
{
operations.setEndpoint(this);
return operations;
}
protected FTPClient createFtpClient() throws Exception {
return new FTPClient();
}
@Override
public FtpConfiguration getConfiguration() {
if (configuration == null) {
client.disconnect();
}
}
public static FTPClient createNewFtpClient() {
return new FTPClient();
}
public static boolean buildDirectory(FTPClient ftpClient, String dirName) throws IOException {
String originalDirectory = ftpClient.printWorkingDirectory();
this.user = (String) workItem.getParameter("User");
this.password = (String) workItem.getParameter("Password");
this.filePath = (String) workItem.getParameter("FilePath");
client = new FTPClient();
try {
if(connection != null){
client.connect(connection.getHost(), Integer.parseInt(connection.getPort()));
int reply = client.getReplyCode();
View Full Code of org.apache.commons.net.ftp.FTPClient
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z