使用ftp下載文件時出現md5和源文件不同的錯誤,後來搞了半天才弄清原來是傳輸模式的原因:
文件傳送有兩種方式,即ASCII碼和二進制碼。ASCII方式傳送略快些,但要求被傳送文件必須是ASCII碼文本文件。二進制碼方式可以傳送 文本和非文本,因此,對所有文件傳送都可以用二進制方式。輸入命令ascii,設置爲ASCII方式。輸入命令binary爲二進制方式。
設置文件的傳輸方式:
二進制傳輸:
ftp>binary //把傳輸模式轉換一下
ftp>put putty.exe
ascII傳輸:
ftp>ascii //把傳輸模式轉換成ascII模式
ftp>put hello.txe
下面是修改過的C代碼:
2011-04-27 15:44:32
以下文章摘自:http://guoyueheng148.blog.163.com/blog/static/6016709120111119241132/
ftp 登陸成功後,需要下載遠程單個文件時,使用get命令。
*********************************************************************
格式:get remote-file [local-file]
說明:
remote-file 指定要複製的遠程文檔?
Local-file 指定要在本地電腦上使用的名稱?假如沒有指定,文檔將默認命名爲 remote-file?
**********************************************************************
megt可以取多個文件,支持通配符。
格式:mget remote-files [ ...]
說明:remote-files 指定要複製到本地電腦的遠程文檔?
在 mget的時侯,需要對每一個文件都選擇y/n,如果向不交互的下載全部的文件,可以先用prompt命令關掉交互方式.然後就可以了。
注意:mput和mget命令要注意兩個問題:
(1)、不能對目標文件指定命字,在命令行上所有的文件都視做源文件
(2)、mput,mget兩個命令不能對目錄進行上傳下載,只能對文件
************************************************************************
prompt:【提示】設置多個文件傳輸時的交互提示。每執行一次這個命令,就在prompt on 和 prompt off直接切換。處於prompt off狀態時,使用mget 和 mput命令不需要y/n直接交互選擇確認鍵。
ftp>prompt
切換交談式指令(使用mput/mget 時不用每個文件皆詢問yes/no)
ftp> help prompt
prompt force interactive prompting on multiple commands
ftp> prompt
Interactive mode off.
ftp> prompt
Interactive mode on.
ftp> prompt
Interactive mode off.
ftp>
**************************************************************************
設置文件的傳輸方式:
二進制傳輸:
ftp>binary //把傳輸模式轉換一下
ftp>put putty.exe
ascII傳輸:
ftp>ascii //把傳輸模式轉換成ascII模式
ftp>put hello.txe
**注:文件傳送有兩種方式,即ASCII碼和二進制碼。ASCII方式傳送略快些,但要求被傳送文件必須是ASCII碼文本文件。二進制碼方式可以傳送 文本和非文本,因此,對所有文件傳送都可以用二進制方式。輸入命令ascii,設置爲ASCII方式。輸入命令binary爲二進制方式。