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

1024ftp

發布時間: 2022-03-02 04:52:15

1. JAV中怎麼實現FTP的下載功能

以下是這三部分的JAVA源程序:(1)顯示FTP伺服器上的文件 void ftpList_actionPerformed(ActionEvent e) { String server=serverEdit.getText(); //輸入的FTP伺服器的IP地址 String user=userEdit.getText(); //登錄FTP伺服器的用戶名 String password=passwordEdit.getText(); //登錄FTP伺服器的用戶名的口令 String path=pathEdit.getText(); //FTP伺服器上的路徑 try { FtpClient ftpClient=new FtpClient(); //創建FtpClient對象 ftpClient.openServer(server); //連接FTP伺服器 ftpClient.login(user, password); //登錄FTP伺服器 if (path.length()!=0) ftpClient.cd(path); TelnetInputStream is=ftpClient.list(); int c; while ((c=is.read())!=-1) { System.out.print((char) c);} is.close(); ftpClient.closeServer();//退出FTP伺服器 } catch (IOException ex) {;} }(2)從FTP伺服器上下傳一個文件 void getButton_actionPerformed(ActionEvent e) { String server=serverEdit.getText(); String user=userEdit.getText(); String password=passwordEdit.getText(); String path=pathEdit.getText(); String filename=filenameEdit.getText(); try { FtpClient ftpClient=new FtpClient(); ftpClient.openServer(server); ftpClient.login(user, password); if (path.length()!=0) ftpClient.cd(path); ftpClient.binary(); TelnetInputStream is=ftpClient.get(filename); File file_out=new File(filename); FileOutputStream os=new FileOutputStream(file_out); byte[] bytes=new byte[1024]; int c; while ((c=is.read(bytes))!=-1) { os.write(bytes,0,c); } is.close(); os.close(); ftpClient.closeServer(); } catch (IOException ex) {;} }(3)向FTP伺服器上上傳一個文件 void putButton_actionPerformed(ActionEvent e) { String server=serverEdit.getText(); String user=userEdit.getText(); String password=passwordEdit.getText(); String path=pathEdit.getText(); String filename=filenameEdit.getText(); try { FtpClientftpClient=new FtpClient(); ftpClient.openServer(server); ftpClient.login(user, password); if (path.length()!=0) ftpClient.cd(path); ftpClient.binary(); TelnetOutputStream os=ftpClient.put(filename); File file_in=new File(filename); FileInputStream is=new FileInputStream(file_in); byte[] bytes=new byte[1024]; int c; while ((c=is.read(bytes))!=-1){ os.write(bytes,0,c);} is.close(); os.close(); ftpClient.closeServer(); } catch (IOException ex) {;} } }

2. 看了一段java代碼是從FTP上下載文件,ftpClient.setBufferSize()這個是什麼用處,要怎麼使用它

緩沖區大小,等從ftp下載的數據存儲到緩沖區,等緩沖區滿了,進行磁碟讀寫。

3. FTP的埠號是多少

FTP埠號是:21

默認情況下FTP協議使用TCP埠中的 20和21這兩個埠,其中20用於傳輸數據,21用於傳輸控制信息。

但是,是否使用20作為傳輸數據的埠與FTP使用的傳輸模式有關,如果採用主動模式,那麼數據傳輸埠就是20;如果採用被動模式,則具體最終使用哪個埠要伺服器端和客戶端協商決定。

(3)1024ftp擴展閱讀:

同大多數Internet服務一樣,FTP也是一個客戶/伺服器系統。用戶通過一個客戶機程序連接至在遠程計算機上運行的伺服器程序。

依照 FTP 協議提供服務,進行文件傳送的計算機就是 FTP伺服器,而連接FTP伺服器,遵循FTP協議與伺服器傳送文件的電腦就是FTP客戶端。

用戶要連上FTP 伺服器,就要用到 FTP 的客戶端軟體,通常 Windows自帶「ftp」命令,這是一個命令行的 FTP客戶程序。

另外常用的 FTP 客戶程序還有FileZilla、 CuteFTP、Ws_FTP、Flashfxp、LeapFTP、流星雨-貓眼等。

1.FTP伺服器的登陸

匿名用戶:FTP 口令:FTP

用戶:ANONYMOUS 口令:任何電子郵件

2.顯示文件信息:DIR/LS

3.下載文件:GET 文件名(下載到當前目錄)

4.上傳文件:PUT 文件名

5.多文件下載:MGET

6.多文件上傳:MPUT

7.退出:BYE

8.幫助:HELP

網路-FTP協議

網路-ftp (文件傳輸協議)

4. FTP是什麼

FTP(File Transfer Protocol,文件傳輸協議) 是 TCP/IP 協議組中的協議之一。FTP協議包括兩個組成部分,其一為FTP伺服器,其二為FTP客戶端。

其中FTP伺服器用來存儲文件,用戶可以使用FTP客戶端通過FTP協議訪問位於FTP伺服器上的資源。在開發網站的時候,通常利用FTP協議把網頁或程序傳到Web伺服器上。此外,由於FTP傳輸效率非常高,在網路上傳輸大的文件時,一般也採用該協議。



(4)1024ftp擴展閱讀:

同大多數Internet服務一樣,FTP也是一個客戶/伺服器系統。用戶通過一個客戶機程序連接至在遠程計算機上運行的伺服器程序。依照 FTP 協議提供服務,進行文件傳送的計算機就是 FTP伺服器,而連接FTP伺服器,遵循FTP協議與伺服器傳送文件的電腦就是FTP客戶端。

用戶要連上FTP 伺服器,就要用到 FTP 的客戶端軟體,通常 Windows自帶「ftp」命令,這是一個命令行的 FTP客戶程序,另外常用的 FTP 客戶程序還有FileZilla、 CuteFTP、Ws_FTP、Flashfxp、LeapFTP、流星雨-貓眼等。

5. FTP是什麼詳細點

什麼是FTP呢?FTP 是 TCP/IP 協議組中的協議之一,是英文File Transfer Protocol的縮寫。該協議是Internet文件傳送的基礎,它由一系列規格說明文檔組成,目標是提高文件的共享性,提供非直接使用遠程計算機,使存儲介質對用戶透明和可靠高效地傳送數據。簡單的說,FTP就是完成兩台計算機之間的拷貝,從遠程計算機拷貝文件至自己的計算機上,稱之為「下載(download)」文件。若將文件從自己計算機中拷貝至遠程計算機上,則稱之為「上載(upload)」文件。在TCP/IP協議中,FTP標准命令 TCP埠號為21,Port方式數據埠為20。FTP協議的任務是從一台計算機將文件傳送到另一台計算機,它與這兩台計算機所處的位置、聯接的方式、甚至是是否使用相同的操作系統無關。假設兩台計算機通過ftp協議對話,並且能訪問Internet,你可以用ftp命令來傳輸文件。每種操作系統使用上有某一些細微差別,但是每種協議基本的命令結構是相同的。
FTP的傳輸有兩種方式:ASCII傳輸模式和二進制數據傳輸模式。
1.ASCII傳輸方式:假定用戶正在拷貝的文件包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當文件傳輸時ftp通常會自動地調整文件的內容以便於把文件解釋成另外那台計算機存儲文本文件的格式。
但是常常有這樣的情況,用戶正在傳輸的文件包含的不是文本文件,它們可能是程序,資料庫,字處理文件或者壓縮文件(盡管字處理文件包含的大部分是文本,其中也包含有指示頁尺寸,字型檔等信息的非列印字元)。在拷貝任何非文本文件之前,用binary 命令告訴ftp逐字拷貝,不要對這些文件進行處理,這也是下面要講的二進制傳輸。
2.二進制傳輸模式:在二進制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進制方式傳送可執行文件到Windows系統,在對方系統上,此文件不能執行。
如果你在ASCII方式下傳輸二進制文件,即使不需要也仍會轉譯。這會使傳輸稍微變慢,也會損壞數據,使文件變得不能用。(在大多數計算機上,ASCII方式一般假設每一字元的第一有效位無意義,因為ASCII字元組合不使用它。如果你傳輸二進制文件,所有的位都是重要的。)如果你知道這兩台機器是同樣的,則二進制方式對文本文件和數據文件都是有效的。
5. FTP的工作方式
FTP支持兩種模式,一種方式叫做Standard (也就是 PORT方式,主動方式),一種是 Passive (也就是PASV,被動方式)。 Standard模式 FTP的客戶端發送 PORT 命令到FTP伺服器。Passive模式FTP的客戶端發送 PASV命令到 FTP Server。
下面介紹一個這兩種方式的工作原理:
Port模式FTP 客戶端首先和FTP伺服器的TCP 21埠建立連接,通過這個通道發送命令,客戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端用什麼埠接收數據。在傳送數據的時候,伺服器端通過自己的TCP 20埠連接至客戶端的指定埠發送數據。 FTP server必須和客戶端建立一個新的連接用來傳送數據。
Passive模式在建立控制通道的時候和Standard模式類似,但建立連接後發送的不是Port命令,而是Pasv命令。FTP伺服器收到Pasv命令後,隨機打開一個高端埠(埠號大於1024)並且通知客戶端在這個埠上傳送數據的請求,客戶端連接FTP伺服器此埠,然後FTP 伺服器將通過這個埠進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。
很多防火牆在設置的時候都是不允許接受外部發起的連接的,所以許多位於防火牆後或內網的FTP伺服器不支持PASV模式,因為客戶端無法穿過防火牆打開FTP伺服器的高端埠;而許多內網的客戶端不能用PORT模式登陸FTP伺服器,因為從伺服器的TCP 20無法和內部網路的客戶端建立一個新的連接,造成無法工作。

6. ftp是什麼

文件傳輸協議(FTP)是一個用於在兩台裝有不同操作系統的機器中傳輸計算機文件的軟體標准。它屬於網路協議組的應用層。

FTP是一個8位的客戶端-伺服器協議,能操作任何類型的文件而不需要進一步處理,就像MIME或Unencode一樣。但是,FTP有著極高的延時,這意味著,從開始請求到第一次接收需求數據之間的時間會非常長,並且不時的必需執行一些冗長的登陸進程。

FTP服務一般運行在20和21兩個埠。埠20用於在客戶端和伺服器之間傳輸數據流,而埠21用於傳輸控制流,並且是命令通向ftp伺服器的進口。當數據通過數據流傳輸時,控制流處於空閑狀態。而當控制流空閑很長時間後,客戶端的防火牆會將其會話置為超時,這樣當大量數據通過防火牆時,會產生一些問題。此時,雖然文件可以成功的傳輸,但因為控制會話會被防火牆斷開,傳輸會產生一些錯誤。

FTP實現的目標:

促進文件的共享(計算機程序或數據)
鼓勵間接或者隱式的使用遠程計算機
向用戶屏蔽不同主機中各種文件存儲系統的細節
可靠和高效的傳輸數據
缺點:

密碼和文件內容都使用明文傳輸,可能產生不希望發生的竊聽。
因為必需開放一個隨機的埠以建立連接,當防火牆存在時,客戶端很難過濾處於主動模式下的FTP流量。這個問題通過使用被動模式的FTP得到了很大解決。
伺服器可能會被告知連接一個第三方計算機的保留埠。
FTP雖然可以被終端用戶直接使用,但是它是設計成被FTP客戶端程序所控制。

運行FTP服務的許多站點都開放匿名服務,在這種設置下,用戶不需要帳號就可以登錄伺服器,默認情況下,匿名用戶的用戶名是:「anonymous」。這個帳號不需要密碼,雖然通常要求輸入用戶的郵件地址作為認證密碼,但這只是一些細節或者此郵件地址根本不被確定,而是依賴於FTP伺服器的配置情況。

[編輯]
主動和被動模式
FTP有兩種使用模式:主動和被動。主動模式要求客戶端和伺服器端同時打開並且監聽一個埠以建立連接。在這種情況下,客戶端由於安裝了防火牆會產生一些問題。所以,創立了被動模式。被動模式只要求伺服器端產生一個監聽相應埠的進程,這樣就可以繞過客戶端安裝了防火牆的問題。

一個主動模式的FTP連接建立要遵循以下步驟:

客戶端打開一個隨機的埠(埠號大於1024,在這里,我們稱它為x),同時一個FTP進程連接至伺服器的21號命令埠。此時,源埠為隨機埠x,在客戶端,遠程埠為21,在伺服器。
客戶端開始監聽埠(x+1),同時向伺服器發送一個埠命令(通過伺服器的21號命令埠),此命令告訴伺服器客戶端正在監聽的埠號並且已准備好從此埠接收數據。這個埠就是我們所知的數據埠。
伺服器打開20號源埠並且建立和客戶端數據埠的連接。此時,源埠為20,遠程數據埠為(x+1)。
客戶端通過本地的數據埠建立一個和伺服器20號埠的連接,然後向伺服器發送一個應答,告訴伺服器它已經建立好了一個連接。

7. FTP的資源很多嗎

起初, FTP並不是應用於IP網路上的協議,而是ARPANEt網路中計算機間的文件傳輸協議, ARPANET是美國國防部組建的老網路,於1960-1980年使用。在那時, FTP的主要功能是在主機間高速可靠地傳輸文件。目前FTP仍然保持其可靠性,即使在今天,它還允許文件遠程存取。這使得用戶可以在某個系統上工作,而將文件存貯在別的系統。例如,如果某用戶運行Web伺服器,需要從遠程主機上取得HTML文件和CGI程序在本機上工作,他需要從遠程存儲站點獲取文件(遠程站點也需安裝Web伺服器)。當用戶完成工作後,可使用FTP將文件傳回到Web伺服器。採用這種方法,用戶無需使用Telnet登錄到遠程主機進行工作,這樣就使Web伺服器的更新工作變得如此的輕松。 FTP是TCP/IP的一種具體應用,它工作在OSI模型的第七層,TCP模型的第四層上,即應用層,使用TCP傳輸而不是UDP,這樣FTP客戶在和伺服器建立連接前就要經過一個被廣為熟知的"三次握手"的過程,它帶來的意義在於客戶與伺服器之間的連接是可靠的,而且是面向連接,為數據的傳輸提供了可靠的保證。 下面,讓我們來看看,一個FTP客戶在和伺服器連接是怎麼樣的一個過程(以標準的FTP埠號為例)。 首先,FTP並不像HTTP協議那樣,只需要一個埠作為連接(HTTP的默認埠是80,FTP的默認埠是21),FTP需要2個埠,一個埠是作為控制連接埠,也就是21這個埠,用於發送指令給伺服器以及等待伺服器響應;另一個埠是數據傳輸埠,埠號為20(僅PORT模式),是用來建立數據傳輸通道的,主要有3個作用 從客戶向伺服器發送一個文件。 從伺服器向客戶發送一個文件。 從伺服器向客戶發送文件或目錄列表。 其次,FTP的連接模式有兩種,PORT和PASV。PORT模式是一個主動模式,PASV是被動模式,這里都是相對於伺服器而言的。為了讓大家清楚的認識這兩種模式,朗月繁星分別舉例說明。 PORT模式 當FTP客戶以PORT模式連接伺服器時,他動態的選擇一個埠號(本次試驗是6015)連接伺服器的21埠,注意這個埠號一定是1024以上的,因為1024以前的埠都已經預先被定義好,被一些典型的服務使用,當然有的還沒使用,保留給以後會用到這些埠的資源服務。當經過TCP的三次握手後,連接(控制信道)被建立(如圖1和圖2)。 圖1:FTP客戶使用FTP命令建立於伺服器的連接 圖2:用netstat命令查看,控制信道被建立在客戶機的6015和伺服器的20埠 現在用戶要列出伺服器上的目錄結構(使用ls或dir命令),那麼首先就要建立一個數據通道,因為只有數據通道才能傳輸目錄和文件列表,此時用戶會發出PORT指令告訴伺服器連接自己的什麼埠來建立一條數據通道(這個命令由控制信道發送給伺服器),當伺服器接到這一指令時,伺服器會使用20埠連接用戶在PORT指令中指定的埠號,用以發送目錄的列表(如圖3)。 圖3:ls命令是一個交互命令,它會首先與伺服器建立一個數據傳輸通道。經驗證本次試驗客戶機使用6044埠 當完成這一操作時,FTP客戶也許要下載一個文件,那麼就會發出get指令,請注意,這時客戶會再次發送PORT指令,告訴伺服器連接他的哪個"新"埠,你可以先用netstat -na這個命令驗證,上一次使用的6044已經處於TIME_WAIT狀態(如圖4)。 圖4:使用netstat命令驗證上一次使用ls命令建立的數據傳輸通道已經關閉 當這個新的數據傳輸通道建立後(在微軟的系統中,客戶端通常會使用連續的埠,也就是說這一次客戶端會用6045這個埠),就開始了文件傳輸的工作。 PASV模式 然而,當FTP客戶以PASV模式連接伺服器時,情況就有些不同了。在初始化連接這個過程即連接伺服器這個過程和PORT模式是一樣的,不同的是,當FTP客戶發送ls、dir、get等這些要求數據返回的命令時,他不向伺服器發送PORT指令而是發送PASV指令,在這個指令中,用戶告訴伺服器自己要連接伺服器的某一個埠,如果這個伺服器上的這個埠是空閑的可用的,那麼伺服器會返回ACK的確認信息,之後數據傳輸通道被建立並返回用戶所要的信息(根據用戶發送的指令,如ls、dir、get等);如果伺服器的這個埠被另一個資源所使用,那麼伺服器返回UNACK的信息,那麼這時,FTP客戶會再次發送PASV命令,這也就是所謂的連接建立的協商過程。為了驗證這個過程我們不得不藉助CUTEFTP Pro這個大家經常使用的FTP客戶端軟體,因為微軟自帶的FTP命令客戶端,不支持PASV模式。雖然你可以使用QUOTE PASV這個命令強制使用PASV模式,但是當你用ls命令列出伺服器目錄列表,你會發現它還是使用PORT方式來連接伺服器的。現在我們使用CUTEFTP Pro以PASV模式連接伺服器(如圖5)。 圖5:使用CUTEFTP Pro以PASV模式連接伺服器 請注意連接LOG里有這樣幾句話: COMMAND:> PASV 227 Entering Passive Mode (127,0,0,1,26,108) COMMAND:> LIST STATUS:> Connecting ftp data socket 127.0.0.1: 6764... 125 Data connection already open; Transfer starting. 226 Transfer complete. 其中, 227 Entering Passive Mode (127,0,0,1,26,80). 代表客戶機使用PASV模式連接伺服器的26x256+108=6764埠。(當然伺服器要支持這種模式) 125 Data connection already open; Transfer starting.說明伺服器的這個埠可用,返回ACK信息。 再讓我們看看用CUTEFTP Pro以PORT模式連接伺服器的情況。其中在LOG里有這樣的記錄: COMMAND:> PORT 127,0,0,1,28,37 200 PORT command successful. COMMAND:> LIST 150 Opening ASCII mode data connection for /bin/ls. STATUS:> Accepting connection: 127.0.0.1:20. 226 Transfer complete. STATUS:> Transfer complete. 其中, PORT 127,0,0,1,28,37告訴伺服器當收到這個PORT指令後,連接FTP客戶的28x256+37=7205這個埠。 Accepting connection: 127.0.0.1:20表示伺服器接到指令後用20埠連接7205埠,而且被FTP客戶接受。 比較分析 在這兩個例子中,請注意: PORT模式建立數據傳輸通道是由伺服器端發起的,伺服器使用20埠連接客戶端的某一個大於1024的埠;在PASV模式中,數據傳輸的通道的建立是由FTP客戶端發起的,他使用一個大於1024的埠連接伺服器的1024以上的某一個埠。如果從C/S模型這個角度來說,PORT對於伺服器來說是OUTBOUND,而PASV模式對於伺服器是INBOUND,這一點請特別注意,尤其是在使用防火牆的企業里,比如使用微軟的ISA Server 2000發布一個FTP伺服器,這一點非常關鍵,如果設置錯了,那麼客戶將無法連接。 最後,請注意在FTP客戶連接伺服器的整個過程中,控制信道是一直保持連接的,而數據傳輸通道是臨時建立的。 在本文中,朗月繁星把重點放到了FTP的連接模式,沒有涉及FTP的其他內容,比如FTP的文件類型(Type),格式控制(Format control)以及傳輸方式(Transmission mode)等。不過這些規范大家可能不需要花費過多的時間去了解,因為現在流行的FTP客戶端都可以自動的選擇正確的模式來處理,對於FTP伺服器端通常也都做了一些限制,如下: 類型:A S C I I或圖像。 格式控制:只允許非列印。 結構:只允許文件結構。 傳輸方式:只允許流方式 至於這些內容,限於篇幅朗月繁星在這里就不想再介紹了。希望這篇文章能對大家有些幫助,特別是正在學習ISA Server2000的朋友和一些對FTP不很了解的朋友。OK,就此駐筆了.參考資料: http://publish.it168.com/2005/0924/20050924030501.shtml?cChanNel=11&cpositioncode=296&hezuo=48

8. java從FTP上下載文件大小大概10M左右,ftpClient.setBufferSize(1024)要設置多大的呢

幾k到1m 這個是臨時的緩沖

9. 列舉一些埠號小於1024的應用程序.

1 tcpmux TCP 埠服務多路復用 5 rje 遠程作業入口 7 echo Echo 服務 9 discard 用於連接測試的空服務 11 systat 用於列舉連接了的埠的系統狀態 13 daytime 給請求主機發送日期和時間 17 qotd 給連接了的主機發送每日格言 18 msp 消息發送協議 19 chargen 字元生成服務;發送無止境的字元流 20 ftp-data FTP 數據埠 21 ftp 文件傳輸協議(FTP)埠;有時被文件服務協議(FSP)使用 22 ssh 安全 Shell(SSH)服務 23 telnet Telnet 服務 25 smtp 簡單郵件傳輸協議(SMTP) 37 time 時間協議 39 rlp 資

10. 華電ftp下載

哥們我也華電的,怎麼分享東西?教教我成嗎?