FTP傳輸兩種方式

2021-06-08 00:50:32 字數 1638 閱讀 5616

for(ftpfile ff:fsname)

分析對方公司,估計是改變了傳輸方式,將ftp伺服器改為了linux後採用了二進位制上傳,因此出現了這種問題。

ftp協議的任務是從一台計算機將檔案傳送到另一台計算機,它與這兩台計算機所處的位置、聯接的方式、甚至是是否使用相同的作業系統無關。假設兩台計算機通過

ftp協議對話,並且能訪問

internet,

你可以用

ftp命令來傳輸檔案。每種作業系統使用上有某一些細微差別,但是每種協議基本的命令結構是相同的。

ftp的傳輸有兩種方式:ascii傳輸模式和二進位制資料傳輸模式。

1.ascii傳輸方式

假定使用者正在拷貝的檔案包含的簡單ascii碼文字,如果在遠端機器上執行的不是unix,當檔案傳輸時ftp通常會自動地調整檔案的內容以便於把檔案解釋成另外那台計算機儲存文字檔案的格式。

但是常常有這樣的情況,使用者正在傳輸的檔案包含的不是文字檔案,它們可能是程式,資料庫,字處理檔案或者壓縮檔案(儘管字處理檔案包含的大部分是文字,其中也包含有指示頁尺寸,字型檔等資訊的非列印字元)。在拷貝任何非文字檔案之前,用binary 命令告訴ftp逐字拷貝,不要對這些檔案進行處理,這也是下面要講的二進位制傳輸。

2.二進位制傳輸模式

在二進位制傳輸中,儲存檔案的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的檔案是沒意義的。例如,macintosh以二進位制方式傳送可執行檔案到ibm vm系統,在對方系統上,此檔案不能執行。(但是,它可以從vm系統上以二進位制方式拷貝到另一macintosh,是可以執行的)。

如果你在ascii方式下傳輸二進位制檔案,即使不需要也仍會轉譯。這會使傳輸稍微變慢

,也會損壞資料,使檔案變得不能用。(在大多數計算機上,ascii方式一般假設每一字元的第一有效位無意義,因為ascii字元組合不使用它。如果你傳輸二進位制檔案,所有的位都是重要的。)如果你知道這兩台機器是同樣的,則二進位制方式對文字檔案和資料檔案都是有效的。

因此,這就意謂著知道你要傳輸的是什麼型別的資料是重要的,表6.1.1給出一些常見檔案型別的提示。

表6.1.1

常見檔案型別 文

件 方式

text file

spreadsheet

database file

word processor file

program source code

electronic mail messages

unix「shell archive」

unix「tar file」

backup file

compressed file

unencoded file

excutable file

postscript file

ascii

大多是二進位制

大多是二進位制,也可能是ascii

大多是二進位制,也可能是

ascii

ascii

ascii

ascii

二進位制二進位制二進位制

ascii

二進位制二進位制

很多資料庫程式用二進位制格式存貯資料,即使資料原本是文字式。所以,除非你知道你的軟體的用途,我們建議對資料庫檔案先用二進位制方式試試。然後看看你傳輸的檔案能否正確工作。如果不能,再試用另一方式。可執行的檔案一般是二進位制檔案。

FTP兩種傳輸模式小結

ftp是有兩種傳輸的模式的,主動模式和被動模式,之前一直沒怎麼去搞明白之,現在找了下資料,乙個完整的ftp檔案傳輸需要建立兩種型別的連線,一種為檔案傳輸下命令,稱為控制連線,另一種實現真正的檔案傳輸,稱為資料連線。ftp控制連線建立之後,即可開始傳輸檔案,傳輸檔案的連線稱為ftp資料連線。ftp資料...

FTP兩種傳輸模式小結

ftp是有兩種傳輸的模式的,主動模式和被動模式,之前一直沒怎麼去搞明白之,現在找了下資料,乙個完整的ftp檔案傳輸需要建立兩種型別的連線,一種為檔案傳輸下命令,稱為控制連線,另一種實現真正的檔案傳輸,稱為資料連線。ftp控制連線建立之後,即可開始傳輸檔案,傳輸檔案的連線稱為ftp資料連線。ftp資料...

ftp傳輸兩種模式 port,pasv

ftp協議有兩種工作方式 port方式和pasv方式,中文意思為主動式和被動式。port 主動 方式的連線過程是 客戶端向伺服器的ftp埠 預設是21 傳送連線請求,伺服器接受連線,建立一條命令鏈路。當需要傳送資料時,客戶端在命令鏈路上用port命令告訴伺服器 我開啟了 x埠,你過來連線我 於是伺服...