當前位置:首頁 » 文件傳輸 » ftp開發界面
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

ftp開發界面

發布時間: 2022-11-29 19:30:02

㈠ 能否給一個java開發的具有圖形界面的ftp伺服器客戶端源代碼呢

/ **
*創建日期:2008年12月23日

*類名:Ftp.java

*類路徑:組織結構

*更改日誌:

* / 包組織結構;

進口的java.io.File;

進口java.io.FileInputStream中;

進口java.io.FileOutputStream中;

進口的java。 io.IOException;

進口sun.net.TelnetInputStream;

進口sun.net.TelnetOutputStream;

進口sun.net.ftp.FtpClient;

> / **

* @作者南山地獄

* @說明FTP操作

* /

公共類的Ftp {

/ **

* BR />獲取FTP目錄* / 公共無效getftpList(){

字元串伺服器=「IP地址 /輸入FTP伺服器/>弦樂用戶=」「;/ / FTP伺服器的登錄用戶名

字元串密碼=「」;/ /登錄FTP伺服器的用戶名

字元串路徑密碼=「」;/ / FTP路徑上的伺服器

嘗試{
> FtpClient的FTP客戶端=新FtpClient的();/ /創建FtpClient的對象

ftpClient.openServer(伺服器);/ /連接到FTP伺服器

ftpClient.login(用戶名,密碼);/ / FTP伺服器 BR />如果(path.length()= 0){

ftpClient.cd(路徑);

}

TelnetInputStream是= ftpClient.list();

詮釋三;

而{

System.out.print((char)的C)((C = is.read())= -1!);

}

掉} is.close ();

ftpClient.closeServer();/ /退出FTP伺服器

}趕上(IOException異常前){

System.out.println(ex.getMessage());

}

}

/ **

*
* /

公共無效getFtpFile(){

字元串伺服器=「」;/ / IP地址中輸入FTP伺服器

弦樂用戶=「」;/ / FTP伺服器的登錄用戶名

字元串密碼=「」;/ /登錄密碼為FTP伺服器的用戶名

字元串路徑=「路徑

字元串文件名「;/ /上=的FTP伺服器」「;/ /下載文件名稱

嘗試{

FtpClient的FTP客戶端=新FtpClient的();

ftpClient.openServer(伺服器);

ftpClient.login(用戶名,密碼);

如果(路徑。長度()= 0)

ftpClient.cd(路徑);!

ftpClient.binary();

TelnetInputStream是= ftpClient.get(文件名);

文件file_out =新的文件(文件名);

文件輸出流OS =新的文件輸出流(file_out);

位元組[]位元組=新位元組[1024];

詮釋三;

而((C = is.read(位元組))= -1){

os.write (位元組,0,C);

}!

掉} is.close();

os.close();

ftpClient.closeServer();

}趕上(IOException異常前){

System.out.println (ex.getMessage());

}

FTP}

/ **

*文件上傳到FTP

* /

公共無效putFtpFile() {

字元串伺服器=「」;/ /輸入IP地址對伺服器

字元串用戶的地址=「」;/ / FTP伺服器的登錄用戶名

字元串密碼=「」;/ / FTP伺服器登錄用戶名密碼

字元串路徑=「」就 / FTP伺服器/>字元串文件名=「」;/ /上傳的文件名

FtpClient的FTP客戶端=新的try { FtpClient的();

ftpClient.openServer(伺服器);

ftpClient.login(用戶名,密碼);

如果(!path.length()= 0)

ftpClient.cd (路徑);

ftpClient.binary();

TelnetOutputStream OS = ftpClient.put(文件名);

文件file_in =新的文件(文件名);

文件輸入流是=新的文件輸入流(file_in);

位元組[]位元組=新位元組[1024];

詮釋三;

同時(! (C = is.read(位元組))= -1){

操作系統。寫(位元組,0,C);

}

掉} is.close();

os.close();

ftpClient.closeServer();

}趕上(IOException異常前){

System.out.println(ex.getMessage());

}

}
}

㈡ 如何建設FTP

ftp全稱file transfer protocol,文件傳輸協議,ftp不僅是一項協議,還是一種服務一種應用,可供用戶在不同的設備之間復制文件,用戶即可以下載文件又可以上傳文件。
方法一:
利用IIS架設ftp
如果已經安裝了IIS可以再添加ftp服務,具體方法:
1.進 控制面板-〉添加或刪除程序-〉添加/刪除windows組件
2.此時Internet信息服務(IIS)選項已被選中,點擊Internet信息服務(IIS)選項,然後查看詳細信息,將文件傳輸協議(FTP)服務選項選中,確定後將系統安裝盤放入光碟機,然後點擊下一步安裝ftp服務。
如果沒有安裝IIS請參考「如何在自己的愛機上架設自己的個人網站」,並在安裝IIS前執行上面第2步

設置IIS中的FTP站點屬性
1.進入 控制面板-〉性能維護(分類視圖)-〉管理工具-〉Internet信息服務 打開IIS窗口
2.展開「本地計算機」前面的+號,看到「FTP站點」,繼續展開看到"默認FTP站點"
3.右鍵"默認FTP站點"-〉新建-〉虛擬目錄... 打開創建虛擬目錄的向導,這個要創建的虛擬目錄就是登錄ftp後看到的目錄。點擊向導的下一步,在別名中鍵入想要創建的目錄的名字,例如:myftp,然後下一步
4.向導要求輸入內容所在的目錄的路徑,此路徑就是你想共享的文件夾的路徑,比如你想共享g盤下的movie文件夾,那麼就在瀏覽中選擇這個文件夾,文本框中就顯示g:\movie\,然後點擊下一步
5.此時向導要求你設置此文件夾也就是myftp文件夾的訪問許可權,「讀取」是登陸的用戶可以看到並下載文件,"寫入"是用戶可以上傳文件,設置方訪問許可權後,完成虛擬目錄的創建
6.此時展開"默認FTP站點",便可看到剛才創建的文件夾
7.同IIS中「網站」的wwwroot一樣,「ftp站點」也有一個ftproot,默認地址是c:\inetpub\ftproot(詳細說明看「如何在自己的愛機上架設自己的個人網站」),在第5步中建立myftp虛擬文件夾後,還需要在ftproot中建立一個同虛擬文件夾同名的文件夾,此例中需要在c:\inetpub\ftproot\中建立myftp文件夾
8.至此,ftp就架設好了,並建立了第一個文件夾myftp,要想建立其他目錄步驟同上
方法二:下載Server-U的安裝軟體(網上注冊版和破解版的很多,網路一下你就看到好多好多),安裝軟體,然後在「開始―>程序」中可以看到「Server-U FTP Server」的菜單,選擇「Server-U Administrator」,就可以看到配置界面。
在配置界面的左側是配置菜單,除了有默認的本地伺服器,還可以添加新的伺服器。
組建一個FTP伺服器,首先要在本地伺服器下面的域中添加一個新的域,在「域」這個菜單上單擊右鍵選擇「新建域」,然後選擇一個可用的IP地址,如果選空,那麼就是說本機的所有IP地址都可以用,在設置IP地址之後,輸入該域的域名、埠等,就可以添加新的域了。
添加新的域之後,還需要對該域做一些設置,例如用戶的設置、訪問IP的限制等設置。
在設置好的域下面,有設置、活動、用戶、組四個菜單,點擊設置可以設置訪問的范圍等內容,比如不允許IP地址192.168.0.3訪問該伺服器,那麼就可以在設置的IP訪問中進行設置。
其實,這些設置都可以不做的,主要是對用戶的設置。在用戶這個菜單上單擊右鍵,選擇「新建用戶」,然後輸入要建立的用戶的名字、密碼、訪問的目錄等內容,其中可以把該用戶鎖定在要訪問的目錄上,不允許訪問伺服器的其他內容。在新建用戶之後,選中該用戶,在界面右側就會出現關於該用戶的一些設置的內容,可以對這個用戶的帳號進行一些設置。
如果不需要設置用戶來訪問,任何人都可以訪問,那麼還可以設置為匿名訪問,使用anonymous來訪問,密碼是郵件地址。
在配置完軟體之後,用戶可以直接在瀏覽器中輸入ftp://域來訪問,如果在Server-U中配置的時候,設置了匿名訪問,那麼用戶也可以不用用戶名和密碼來訪問的。或者也可以用FTP的客戶端軟體來訪問FTP伺服器,例如用LeapFTP、CuteFTP等軟體。
如何登陸ftp
方法一:用IE登錄ftp
打開IE,在地址欄中鍵入[url] ftp://xxx.xxx.xxx.xxx(xx[/url]表示你的ip),便可登陸

方法二:用專用ftp登錄軟體(推薦使用)
登錄ftp的軟體很多,有cuteFTP,FlashFXP,這里以FlashFXP為例介紹如何登陸ftp
flashftp界面介紹:界面有兩個窗口,默認情況下左面是本地窗口即你機子的文件夾,右面的是ftp窗口即遠程計算機的文件夾,按窗口上面的小圖標可以轉換本地窗口和遠程窗口

快速連接ftp站點:Ftp->Quick Connect 在Server or URL中輸入ftp站點的域名或ip,如果想登陸你自己的ftp就輸入你自己的Ip,在username/password中輸入用戶名和密碼,如果 ftp站點是匿名登陸則不需要填寫,填完後connect連接(另一種簡單的方法是點擊ftp窗口上面的閃電圖標進行快速連接)

站點管理器site manager:菜單sites->sites manager,然後new site並填寫相關ftp信息,apply後既保存了,以後點擊ftp窗口上面的閃電圖標,可以看到你新建的站點,點擊就可快速連接。

㈢ linux gtk 開發圖形界面的ftp用什麼控制項適合,特別是在選上傳或下載的文件時

我覺得要麼就設計成文件管理器哪種,但你要支持多窗口拖拽,包括支持系統自帶文件管理器窗口的拖拽進出。
不然就設計成 winscp、total commander 哪種雙列設計。

㈣ 怎麼用Serv-U搭建FTP伺服器

FTP伺服器是我們開發和生活中常用的功能,下面就解答怎麼利用Serv-U快速搭建ftp伺服器。

一、找到Serv-U命令,打開應用。

Serv-U還有其它很多高級功能,可以自己挖掘一下。

㈤ 用c/c++做個簡單的有圖形界面的FTP client

其實網上都有現成的代碼:
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <signal.h>
#include <string>
#include <iostream>
#include <errno.h>
using namespace std;

#define COMMAND_SIZE 100
#define BUF_SIZE 1000
#define END_SIGN "OK "
#define READY_SIGN "OK "
#define FILE_NAME_SIZE 100
#define PORT 8888

int readen(int fd, char *buf, int size){
int size1 = size;
while(1){
int num = read(fd, buf, size);
//buf[num] = 0;

size -= num;
buf += num;
if(0 == size){
break;
}

if(0 == strncmp(buf-strlen(END_SIGN), END_SIGN, strlen(END_SIGN))){
*(buf-strlen(END_SIGN)) = 0;
size += 2;
break;
}
}

return (size1-size);
}

void getFileName(char *cmd, char *fileName){
char *p = strstr(cmd, " ");
char *p1 = strstr(cmd, "\n ");
while( ' ' == *p)
p++;
strncpy(fileName, p, p1-p);
fileName[p1-p] = 0;
}

int initfd(char **argv){
int fd;
if((fd=socket(AF_INET,SOCK_STREAM,0))==-1){
printf( "socket error!\n ");
exit(1);
}

struct sockaddr_in server;
bzero(&server, sizeof(server));
server.sin_family=AF_INET;
server.sin_port=htons(PORT);
in_addr temp;
inet_aton(argv[1], &temp);
server.sin_addr = temp;

if(connect(fd, (struct sockaddr *)&server, sizeof(struct sockaddr))==-1){
perror( "connect error!\n ");
exit(1);
}

return fd;
}

void localcommand(char *cmd){
char buf[BUF_SIZE];
FILE *fp = popen(cmd, "r ");
if(NULL == fp){
printf( "exec %s error!\n ", cmd);
return;
}

while(fgets(buf, BUF_SIZE, fp)){
printf(buf);
}
pclose(fp);

}

void getcommand(int fd, char *fileName){
char buf[BUF_SIZE];
FILE *fp = fopen(fileName, "w+b ");
if(NULL == fp){
printf( "open %s failed!\n ", fileName);
return;
}

while(1){
int num = readen(fd, buf, BUF_SIZE);
fwrite(buf, num, 1, fp);
printf( "the num is %d\n ", num);

if(BUF_SIZE != num)
break;
}
fclose(fp);
printf( "get finished\n ");
}

void putcommand(int fd, char *fileName){
char buf[BUF_SIZE];

//receive "OK "
int num = recv(fd, buf, strlen(END_SIGN), 0);
buf[num] = 0;

if(0 == strncmp(buf, "OK ", strlen( "OK "))){
FILE *fp = fopen(fileName, "rb ");
if(NULL == fp){
printf( "open %s failed!\n ", fileName);
return;
}

while(1){
long offset1 = ftell(fp);
fread(buf, BUF_SIZE, 1, fp);
long offset2 = ftell(fp);
int num = offset2 - offset1;

send(fd, buf, num, 0);
printf( "the num is %d\n ", num);
if(BUF_SIZE != num)
break;
}

send(fd, END_SIGN, strlen(END_SIGN), 0);
fclose(fp);
printf( "put finished\n ");

}

else{
printf( "server is not ready!\n ");
}
}

void lpcFtpCommand(int fd){
char buf[BUF_SIZE];
while(1){
int num = readen(fd, buf, BUF_SIZE);
printf( "%s\n ", buf);

if(BUF_SIZE != num)
break;
}

}

void requestftp(int fd){
char cmd[COMMAND_SIZE];
char buf[BUF_SIZE];
char fileName[FILE_NAME_SIZE];

while(1){
//input the command
printf( "myftp> ");
fgets(cmd, COMMAND_SIZE, stdin);
printf( "%s ", cmd);

//quit command
if(0 == strncmp(cmd, "bye\n ", strlen( "bye\n "))){
send(fd, cmd, strlen(cmd), 0);
printf( "connection closing!\n ");
break;
}

//ftp command
if(0 == strncmp(cmd, "!ls\n ", strlen( "!ls\n "))){
localcommand(cmd+1);
}

else if(0 == strncmp(cmd, "!pwd\n ", strlen( "!pwd\n "))){
localcommand(cmd+1);
}

else if(0 == strncmp(cmd, "!cd ", strlen( "!cd "))){
getFileName(cmd, fileName);
chdir(fileName);

localcommand( "ls\n ");
}

else if(0 == strncmp(cmd, "get ", strlen( "get "))){ //notice space
send(fd, cmd, strlen(cmd), 0);
getFileName(cmd, fileName);
getcommand(fd, fileName);
}

else if(0 == strncmp(cmd, "put ", strlen( "put "))){ //notice space
send(fd, cmd, strlen(cmd), 0);
getFileName(cmd, fileName);
putcommand(fd, fileName);
}

else if(0 == strncmp(cmd, "ls\n ", strlen( "ls\n "))){
send(fd, cmd, strlen(cmd), 0);
lpcFtpCommand(fd);
}

else if(0 == strncmp(cmd, "pwd\n ", strlen( "pwd\n "))){
send(fd, cmd, strlen(cmd), 0);
lpcFtpCommand(fd);
}

else if(0 == strncmp(cmd, "cd ", strlen( "cd "))){
send(fd, cmd, strlen(cmd), 0);
lpcFtpCommand(fd);
}

else{
printf( "?invalid command!\n ");
}

}

close(fd);

}

int main(int argc, char **argv){
//check the param
if(2 != argc){
printf( "myftp command is like: myftp 127.0.0.1\n ");
exit(0);
}

//create and connect socket
int fd = initfd(argv);

//deal with the comand, the endpoint is "bye "
requestftp(fd);

return 0;
}

㈥ FTP伺服器這個界面能設計嗎

FTP工具那麼多為什麼要自己搭建?

自己搭建的用的不方便安全性還一般,推薦用現成的,比如flashFTP

自帶有各種管理功能的

㈦ ftp用瀏覽器登陸,登陸後界面比較丑,我想自定義界面,美化一下

瀏覽器訪問ftp專業點一般都建議用firefox,它有 FireFTP 或者 FileZilla這些擴展可以用(或者說一般建議用ftp客戶端軟體來訪問),至於自定義ftp界面沒怎麼見過,即使能美化圖片什麼也是跟你系統版本有關的。

㈧ Java應用程序開發包實現FTP伺服器端程序,提供文件傳輸服務和相應的統計數據。簡單的用戶界面和統計功能

用Java實現FTP伺服器
2004-03-10 02:09 來源:eNet論壇

【簡 介】
FTP(File Transfer Protocol 文件傳輸協議)是Internet 上用來傳送文件的協議。在Internet上通過FTP 伺服器可以進行文件的上傳(Upload)或下載(Download)。FTP是實時聯機服務,在使用它之前必須是具有該服務的一個用戶(用戶名和口令),工作時客戶端必須先登錄到作為伺服器一方的計算機上,用戶登錄後可以進行文件搜索和文件傳送等有關操作,如改變當前工作目錄、列文件目錄、設置傳輸參數及傳送文件等。使用FTP可以傳送所有類型的文件,如文本文件、二進制可執行文件、圖象文件、聲音文件和數據壓縮文件等。

加入收藏 設為首頁

--------------------------------------------------------------------------------

FTP 命令

FTP 的主要操作都是基於各種命令基礎之上的。常用的命令有:

◆ 設置傳輸模式,它包括ASCⅡ(文本) 和BINARY 二進制模式;

◆ 目錄操作,改變或顯示遠程計算機的當前目錄(cd、dir/ls 命令);

◆ 連接操作,open命令用於建立同遠程計算機的連接;close命令用於關閉連接;

◆ 發送操作,put命令用於傳送文件到遠程計算機;mput 命令用於傳送多個文件到遠程計算機;

◆ 獲取操作,get命令用於接收一個文件;mget命令用於接收多個文件。

編程思路

根據FTP 的工作原理,在主函數中建立一個伺服器套接字埠,等待客戶端請求,一旦客戶端請求被接受,伺服器程序就建立一個伺服器分線程,處理客戶端的命令。如果客戶端需要和伺服器端進行文件的傳輸,則建立一個新的套接字連接來完成文件的操作。

編程技巧說明

1.主函數設計

在主函數中,完成伺服器埠的偵聽和服務線程的創建。我們利用一個靜態字元串變數initDir 來保存伺服器線程運行時所在的工作目錄。伺服器的初始工作目錄是由程序運行時用戶輸入的,預設為C盤的根目錄。

具體的代碼如下:

public class ftpServer extends Thread{
private Socket socketClient;
private int counter;
private static String initDir;
public static void main(String[] args){
if(args.length != 0) {
initDir = args[0];
}else{ initDir = "c:";}
int i = 1;
try{
System.out.println("ftp server started!");
//監聽21號埠
ServerSocket s = new ServerSocket(21);
for(;;){
//接受客戶端請求
Socket incoming = s.accept();
//創建服務線程
new ftpServer(incoming,i).start();
i++;
}
}catch(Exception e){}
}
2. 線程類的設計

線程類的主要設計都是在run()方法中實現。用run()方法得到客戶端的套接字信息,根據套接字得到輸入流和輸出流,向客戶端發送歡迎信息。

3. FTP 命令的處理

(1) 訪問控制命令

◆ user name(user) 和 password (pass) 命令處理代碼如下:

if(str.startsWith("USER")){
user = str.substring(4);
user = user.trim();
out.println("331 Password");}
if(str.startsWith("PASS"))
out.println("230 User "+user+" logged in.");

User 命令和 Password 命令分別用來提交客戶端用戶輸入的用戶名和口令。

◆ CWD (CHANGE WORKING DIRECTORY) 命令處理代碼如下:

if(str.startsWith("CWD")){
String str1 = str.substring(3);
dir = dir+"/"+str1.trim();
out.println("250 CWD command succesful");
}

該命令改變工作目錄到用戶指定的目錄。

◆ CDUP (CHANGE TO PARENT DIRECTORY) 命令處理代碼如下:

if(str.startsWith("CDUP")){
int n = dir.lastIndexOf("/");
dir = dir.substring(0,n);
out.println("250 CWD command succesful");
}

該命令改變當前目錄為上一層目錄。

◆ QUIT命令處理代碼如下:

if(str.startsWith("QUIT")) {
out.println("GOOD BYE");
done = true;
}

該命令退出及關閉與伺服器的連接,輸出GOOD BYE。

(2) 傳輸參數命令

◆ Port命令處理代碼如下:

if(str.startsWith("PORT")) {
out.println("200 PORT command successful");
int i = str.length() - 1;
int j = str.lastIndexOf(",");
int k = str.lastIndexOf(",",j-1);
String str1,str2;
str1="";
str2="";
for(int l=k+1;l
str1 = str2 + str.charAt(l);
}
for(int l=j+1;l<=i;l++){
str2 = str2 + str.charAt(l);
}
tempPort = Integer.parseInt(str1) * 16 *16 +Integer.parseInt(str2);
}

使用該命令時,客戶端必須發送客戶端用於接收數據的32位IP 地址和16位 的TCP 埠號。這些信息以8位為一組,使用十進制傳輸,中間用逗號隔開。

◆ TYPE命令處理代碼如下:

if(str.startsWith("TYPE")){
out.println("200 type set");
}

TYPE 命令用來完成類型設置。

(3) FTP 服務命令

◆ RETR (RETEIEVE) 和 STORE (STORE)命令處理的代碼

if(str.startsWith("RETR")){
out.println("150 Binary data connection");
str = str.substring(4);
str = str.trim();
RandomAccessFile outFile = new
RandomAccessFile(dir+"/"+str,"r");
Socket tempSocket = new Socket(host,tempPort);
OutputStream outSocket
= tempSocket.getOutputStream();
byte byteBuffer[]= new byte[1024];
int amount;
try{
while((amount = outFile.read(byteBuffer)) != -1){
outSocket.write(byteBuffer, 0, amount);
}
outSocket.close();
out.println("226 transfer complete");
outFile.close();
tempSocket.close();
}
catch(IOException e){}
}
if(str.startsWith("STOR")){
out.println("150 Binary data connection");
str = str.substring(4);
str = str.trim();
RandomAccessFile inFile = new
RandomAccessFile(dir+"/"+str,"rw");
Socket tempSocket = new Socket(host,tempPort);
InputStream inSocket
= tempSocket.getInputStream();
byte byteBuffer[] = new byte[1024];
int amount;
try{
while((amount =inSocket.read(byteBuffer) )!= -1){
inFile.write(byteBuffer, 0, amount);
}
inSocket.close();
out.println("226 transfer complete");
inFile.close();
tempSocket.close();
}
catch(IOException e){}
}

文件傳輸命令包括從伺服器中獲得文件RETR和向伺服器中發送文件STOR,這兩個命令的處理非常類似。處理RETR命令時,首先得到用戶要獲得的文件的名稱,根據名稱創建一個文件輸入流,然後和客戶端建立臨時套接字連接,並得到一個輸出流。隨後,將文件輸入流中的數據讀出並藉助於套接字輸出流發送到客戶端,傳輸完畢以後,關閉流和臨時套接字。

STOR 命令的處理也是同樣的過程,只是方向正好相反。

◆ DELE (DELETE)命令處理代碼如下:

if(str.startsWith("DELE")){
str = str.substring(4);
str = str.trim();
File file = new File(dir,str);
boolean del = file.delete();
out.println("250 delete command successful");
}

DELE 命令用於刪除伺服器上的指定文件。

◆ LIST命令處理代碼如下:

if(str.startsWith("LIST")) {
try{
out.println("150 ASCII data");
Socket tempSocket = new Socket(host,tempPort);
PrintWriter out2= new PrintWriter(tempSocket.getOutputStream(),true);
File file = new File(dir);
String[] dirStructure = new String[10];
dirStructure= file.list();
String strType="";
for(int i=0;i
if( dirStructure[i].indexOf(".") == -1) {
strType = "d ";}
else
{strType = "- ";}
out2.println(strType+dirStructure[i]);
}
tempSocket.close();
out.println("226 transfer complete");
}
catch(IOException e){}

LIST 命令用於向客戶端返回伺服器中工作目錄下的目錄結構,包括文件和目錄的列表。處理這個命令時,先創建一個臨時的套接字向客戶端發送目錄信息。這個套接字的目的埠號預設為1,然後為當前工作目錄創建File 對象,利用該對象的list()方法得到一個包含該目錄下所有文件和子目錄名稱的字元串數組,然後根據名稱中是否含有文件名中特有的「.」來區別目錄和文件。最後,將得到的名稱數組通過臨時套接字發送到客戶端。

㈨ FTP到底是干什麼的,具體有什麼功能!

1.什麼是FTP呢?FTP 是 TCP/IP 協議組中的協議之一,是英文File Transfer Protocol的縮寫。該協議是Internet文件傳送的基礎,它由一系列規格說明文檔組成,目標是提高文件的共享性,提供非直接使用遠程計算機,使存儲介質對用戶透明和可靠高效地傳送數據。簡單的說,FTP就是完成兩台計算機之間的拷貝,從遠程計算機拷貝文件至自己的計算機上,稱之為「下載(download)」文件。若將文件從自己計算機中拷貝至遠程計算機上,則稱之為「上載(upload)」文件。在TCP/IP協議中,FTP標准命令TCP埠號為21,Port方式數據埠為20。

2.FTP的工作方式
FTP支持兩種模式,一種方式叫做Standard (也就是 PORT方式,主動方式),一種是 Passive (也就是PASV,被動方式)。 Standard模式 FTP的客戶端發送 PORT 命令到FTP伺服器。Passive模式FTP的客戶端發送 PASV命令到 FTP Server。

3.ftp工具,就是專門用來進行FTP上傳下載的工具。常用FTP工具有:
CuteFTP Pro :CuteFTP Pro是一個全新的商業級FTP客戶端程序,其加強的文件傳輸系統能夠完全滿足今天的商家們的應用需求。這里文件通過構建於SSL或SSH2安全認證的客戶機/伺服器系統進行傳輸,為VPN、WAN、Extranet開發管理人員提供最經濟的解決方案!企業再不需要為了一套安全的數據傳輸系統而進行破費了。此外,CuteFTP Pro還提供了Sophisticated Scripting、目錄同步、自動排程、同時多站點連接、多協議支持(FTP、SFTP、HTTP、HTTPS)、智能覆蓋、整合的HTML編輯器等功能特點以及更加快速的文件傳輸系統。
LeapFTP:一款被多家網站評估為五星級、功能強大、能媲美BulletProof FTP的FTP軟體。跟Netscape相仿的書簽形式,連線更加方便。下載與上傳文件支持續傳。可下載或上傳整個目錄,亦可直接刪除整個目錄。可讓你編列順序一次下載或上傳同一站台中不同目錄下的文件。瀏覽網頁時若在文件連結上按滑鼠右鍵選[復制捷徑]便會自動下載該文件。具有不會因閑置過久而被站台踢出的功能。可直接編輯遠端Server上的文件。可設定文件傳送完畢自動中斷Modem連接。
FlashFXP:功能強大的 FXP / FTP 軟體,融合了一些其他優秀 FTP 軟體的優點,如像 CuteFTP 一樣可以比較文件夾,支持彩色文字顯示;像 BpFTP 支持多文件夾選擇文件,能夠緩存文件夾;像 LeapFTP一樣的外觀界面,甚至設計思路也差相彷彿。支持文件夾(帶子文件夾)的文件傳送、刪除;支持上傳、下載及第三方文件續傳;可以跳過指定的文件類型,只傳送需要的文件;可以自定義不同文件類型的顯示顏色;可以緩存遠端文件夾列表,支持FTP 代理及 Socks 3 & 4;具有避免空閑功能,防止被站點踢出;可以顯示或隱藏「隱藏」屬性的文件、文件夾;支持每個站點使用被動模式等。!
TurboFTP:一款絕對老牌的FTP傳輸工具。它支持斷線自動重新連接並自動恢復傳輸,文件列表過濾,遠程編輯,整個遠端目錄刪除,目錄上傳下載,斷點續傳, 多達八種的代理伺服器,完成傳送後自動掛線或關機,方便的 FTP 站點地址薄,等等。
ChinaFTP:ChinaFTP是一款完全由國人開發的免費的FTP客戶端軟體,軟體支持對文件傳輸的所有操作,支持MSDOS和Unix兩種目錄結構。ChinaFTP與伺服器的交互快,文件傳輸速度快,支持整個目錄及子目錄的上傳,軟體包含站點管理,方便用戶對所訪問的站點進行訪問保存,無需每次訪問時都輸入伺服器名、用戶名和密碼。簡單的操作和方便的管理,軟體界面清晰,左側為本地磁碟文件,右側為FTP文件伺服器。文件上傳下載顯示進度查看、已傳送位元組、傳輸速度顯示、伺服器狀態顯示等。
AceFTP Pro:相當強大且好用的FTP軟體,使用者只需以軟體本身的浮動按鈕即會操作,它提供多文件下載,且可同時至多個Sever下載,使用者更可邊上FTP下載文件,邊瀏覽網頁一個FTP軟體,結合了瀏覽器與FTP的功能,它可以在下載或上傳文件之前先預覽 GIF、JPG和 HTML的文件,並且你可以在同一個視窗下開啟多個遠端的目錄或是登入多個遠端的FTP伺服器,你也可以直接輸入欲下載文件的位址來下載文件,支持 FTP 和 HTTP。
EmFTP Pro:EmFTP 是一個易於使用的,高品質的 FTP 客戶端軟體。EmFTP 是共享軟體。EmFTP 可以與 EmEditor (Windows 下很好用的一個文本編輯器)很好的結合在一起。如果你已安裝 EmEditor,你可以直接編輯一個伺服器上的文件,就像編輯一個本地文件一樣。同樣,你可以可以非常容易的從其他客戶端中導入設置,例如:FFFTP、Internet Explorer、WS_FTP。 同步上傳功能可以直接復制本地文件夾的正確結構到伺服器上。
以上幾個軟體下載地址,請參考網頁http://bbs.zj.chinavnet.com/topic_show.jsp?id=1463289&oldpage=1&thesisid=45&flag=topic1

㈩ 什麼是FTP客戶端下載器,主要能夠實現哪些功能界面大概是怎樣的

FTP客戶端是利用FTP協議進行下載文件的一種工具。

主要實現,與FTP伺服器驗證,上傳文件,下載文件,斷點續傳等操作?

界面和迅雷類似,當然迅雷中包括FTP客戶端的功能。
這種軟體比較多,有CutuFTP,Filezilla,