Sample code for 30+ languages & platforms
Java

Send an FTP SITE Command

See more FTP Examples

Demonstrates the Chilkat Ftp2.Site method, which sends a server-specific SITE command. The only argument is the text following SITE, for example CHMOD 644 index.html.

Background: SITE is FTP's extension point for features outside the standard — each server defines its own subcommands. The best-known is SITE CHMOD on Unix servers to set file permissions, but others cover mainframe dataset attributes, quotas, and more. Because these are non-standard and often privileged, expect them to vary by server and to require appropriate rights.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Ftp2;

public class ChilkatExample {

    public static void main(String[] args) {
        // Demonstrates the Ftp2.Site method, which sends a server-specific SITE command.  The only
        // argument is the text following "SITE".

        Ftp2 ftp = new Ftp2();

        ftp.setHostname("ftp.example.com");
        ftp.setUsername("myFtpLogin");

        // Normally you would not hard-code the password in source.  You should instead obtain it
        // from an interactive prompt, environment variable, or a secrets vault.
        ftp.setPassword("myPassword");

        // Connect and log in (Connect performs both).
        try {
            ftp.connect();

            // SITE subcommands are defined by the server, not by the FTP standard, and may require special
            // permissions.  A common example is changing file permissions on a Unix FTP server.
            ftp.site("CHMOD 644 public_html/index.html");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        System.out.println("SITE command accepted.");

        try {
            ftp.disconnect();
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }
    }
}