Transfer file ini menggunakan File Transfer Protocol (FTP) yang dulu dikembangkan pada tahun 1985 dan masih digunakan
sampai sekarang. Protokol telah distandarisasi pertama kali di RFC 959 [8], dan kemudian berbagai ekstensi telah diusulkan
untuk meningkatkan fleksibilitas dan keamanan (RFC 1579, RFC 2228) [ 9 , 10]
FTP berfungsi di atas TCP dan secara umum menggunakan port 21; Namun, dalam beberapa situasi administrator server
dapat memilih untuk menggunakan port yang berbeda. FTP melibatkan klien menghubungkan ke server dan mengirim
perintah selama sesi komunikasi. Server merespons dengan tindakan dan pesan status perintah. Secara umum, masing
masing sesi tersebut melibatkan setidaknya satu transfer file.
Prinsip dasar transfer file menggunakan FTP diuraikan pada Gambar 7.5.
Secara teoritis, FTP melibatkan dua koneksi: untuk kontrol dan data. FTP commands dan balasan dipertukarkan melalui
koneksi kontrol, sementara data dipertukarkan melalui koneksi data. Ada persyaratan untuk koneksi kontrol menjadi
berfungsi ketika data ditransfer melalui koneksi khusus. Dalam praktiknya, satu koneksi digunakan untuk pertukaran data
dan kontrol informasi.
Perintah FTP termasuk dalam salah satu dari tiga kategori berikut.
Setiap perintah harus menghasilkan beberapa tindakan dan setidaknya satu balasan dari server. Ini memungkinkan
sinkronisasi permintaan yang dikirim oleh klien dan tindakan yang dilakukan oleh server dan juga memungkinkan klien
untuk mengetahui status server. Secara umum, balasan adalah satu baris; namun, banyak baris juga diterima. Jawabannya
harus berisi kode status tiga digit yang memungkinkan mesin menilai status server dan pesan teks yang menggambarkan
status server dalam bahasa manusia.
Ada beberapa masalah yang terlibat saat menggunakan FTP untuk transfer file. Keamanan adalah masalah penting bagi
banyak perusahaan yang telah menginstal firewall. Firewall mencegah pengguna yang tidak sah dari mendapatkan akses ke
jaringan. Namun, firewall juga mungkin secara tidak sengaja mencegah pengguna yang sah mengakses beberapa sumber,
termasuk file. Ketika FTP terlibat, administrator jaringan harus merancang aturan untuk kelas Koneksi FTP yang mungkin
merupakan proses yang mahal dan rawan kesalahan.
Masalah lainnya adalah standardisasi. Ada banyak aplikasi klien FTP dengan interpretasi yang berbeda dari protokol FTP.
Akibatnya, administrasi server FTP tor harus tahu cara mendukung semua jenis aplikasi klien yang berbeda ini. Alternatif
untuk FTP klasik adalah transfer file berbasis web. Transfer file berbasis web klien fer berjalan di dalam browser Web.
Tidak perlu menginstal perangkat lunak, lisensi untuk membeli atau memelihara perangkat lunak. Selain itu, tidak perlu
diatur aturan firewall untuk setiap kelas pengguna.
Pendekatan pertama membutuhkan implementasi kelas FTPClient sendiri. Ini solusi dapat menggunakan soket standar dan
perintah FTP untuk berinteraksi dan bertukar data file dengan server file. Pendekatan kedua adalah menemukan
implementasi yang ada kelas FTPClient dan memanfaatkannya untuk melakukan transfer file. Itu Kemungkinan ketiga
adalah menggunakan klien FTP berbasis Web.
Contoh transfer file klien FTP Java sederhana yang disajikan berikutnya menggunakan yang kedua pendekatan dan
memanfaatkan implementasi FTPClient tersedia sebagai bagian dari Apache Commons Net API [ 25] Klien FTP berbasis
Apache Commons Net API implementasi aplikasi transfer file melibatkan langkah-langkah berikut.
http://commons.apache.org/net/download_net.cgi
Klien pengunduhan FTP berbasis Apache Commons Net berbasis API yang lengkap banyak aplikasi termasuk
berikutnya. Solusi pengunduhan FTP alternatif yang menggunakan InputStream Apache Commons Net API FTPClient
untuk mengambilMetode FileStream (String remote) disajikan dalam [26 ].
import java.io. *;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
Mencoba
/ * diotentikasi di server * /
ftpClient.enterLocalPassiveMode ();
ftpClient.setFileType (FTP.BINARY_FILE_TYPE);
String rf = "/remotefolder/remotefile.txt";
/ * file lokal * /
File lf =
OutputStream os =
BufferedOutputStream baru (baru
FileOutputStream (lf));
os.close ();
ex.printStackTrace ();
Akhirnya
mencoba
if (ftpClient.isConnected ())
ftpClient.logout ();
ftpClient.disconnect ();
ex.printStackTrace ();
import java.io.*;
import java.net.*;
{
/*main method invoked when the application starts*/
String path =
new String("http://www.eeng.dcu.ie/index.html");
DataInputStream is = null;
try
is = new DataInputStream(new
BufferedInputStream(url.openStream()));
String s;
System.out.println(s);
catch (Exception e)
e.printStackTrace();
System.exit(1);
finally
try
is.close();
System.out.println("IOException occured");
ioe.printStackTrace();
System.exit(1);