qt發送ftp命令
Ⅰ qt怎麼把windows自帶的ftp
配置好伺服器之後,便可以使用QT或者其他工具實現文件上傳和下載了。
關鍵代碼如下:
void ftp_upload::upload() { ftp = new QFtp(this); ftp->connectToHost("192.168.0.50",21); //連接到伺服器,填寫你的ip地址,這里默認埠號為21 ftp->login("test","testpasswd"); //登錄,填寫響應的用戶名和密碼 //windows自帶的ftp伺服器,客戶端上傳文件到伺服器 QFile *uploadFile = new QFile("D:/2014.txt");//要上傳到伺服器的的文件位置:D盤下的2014.txt文檔,該文檔存在於客戶端 QString des = "2014_uploadToServer.txt";//ftp伺服器「收到」客戶端上傳的文檔位置:物理路徑根目錄下的文檔2014_upload.txt uploadFile->open(QIODevice::ReadWrite); ftp->put(uploadFile,des); //windows自帶的ftp伺服器,從伺服器下載文件到客戶端 QFile *download = new QFile("D:/downloadFromServer.txt"); download->open(QIODevice::ReadWrite); ftp->get("download.txt",download);//把伺服器物理路徑根目錄下的download.txt下載到本地D盤根目錄 }
Ⅱ 請教FTP命令
帶有星號的命令一般很少使用,所以往往在具體實現中不支持。
ABOR 放棄傳輸
*ACCT 某些系統將帳號和用戶與文件系統相關聯
*ALLO 為即將傳送的文件分配空間。後面攜帶的參數來確定位元組數
*APPE 將文件附加到已經存在的文件後面
CDUP 在遠程系統上將當前目錄切換到上級父目錄
CWD 改變遠程系統的工作目錄
DELE 刪除遠程系統的文件
HELP 讀取伺服器的幫助信息,如:支持的命令的列表
LIST 在一個新建立的數據連接上發送當前工作目錄下的文件名列表
MKD 創建目錄
MODE 指定傳輸模式,可攜帶的參數是:S、B或 C.
NLST 在一個新建立的數據連接上發送一個當前目錄下的「完全」的目錄列表
NOOP 空操作,防止連接斷掉
PASS 提供一個用戶登錄密碼,必須立即跟隨在USER命令後
*PASV 指定伺服器數據傳輸過程監聽等待客戶端的數據連接連接建立請求
PORT 指定客戶端監聽等待伺服器端建立的連接的埠號
PWD 顯示伺服器端的當前工作目錄名
QUIT 退出登錄並終止連接
*REIN 重新初始化,退出登錄但是並不斷開連接,後面必須隨後發出一個新的USER命令
*REST 從伺服器的一個標識處重新開始傳輸
RETR 從遠程系統取回一個文件
RMD 刪除一個目錄
*RNFR 指定要被命名的文件的老的路徑名,隨後必須是一個RNTO命令
*RNTO 指定要被命名的文件的新的路徑名
*SITE 站點特有的伺服器提供的服務
*SMNT 結構載入,提供一個文件系統結構的遠程系統路徑名
*STAT 狀態信息
STOR 上載一個文件到伺服器上,若文件已經存在則覆蓋
*STOU 上載一個文件到伺服器上,不覆蓋已經存在的文件
STRU 指定文件結構,參數可以是F、R或P.
*SYST 報告遠程系統的操作系統類型
TYPE 指定文件類型,參數可以是A、E、I、L只有TYPE A和TYPE I常用
Ⅲ 有沒有qt使用ftp上傳文件夾到伺服器的實例代碼伺服器上如果有同名的文件夾要覆蓋。謝謝
紅萌有
Ⅳ ftp查詢命令大全
需要使用ftp命令的來這里查詢吧。接下來是我為大家收集的ftp查詢命令,希望能幫到大家。
ftp查詢命令大全
FTP命令是Internet用戶使用最頻繁的命令之一,不論是在DOS還是UNIX操作系統下使用FTP,都會遇到大量的FTP內部命令。 熟悉並靈活應用FTP的內部命令,可以大大方便使用者,並收到事半功倍之效。FTP的命令行格式為: ftp -v -d -i -n -g [主機名] ,其中-v 顯示遠程伺服器的所有響應信息; 計算機-n 限制ftp的自動登錄,即不使用;.n etrc文件;
-d 使用調試方式;
-g 取消全局文件名。
ftp使用的內部命令如下(中括弧表示可選項):
1.![cmd[args]]:在本地機中執行交互shell,exit回到ftp環境,如:
!ls*.zip.
2.$ macro-ame[args]:執行宏定義macro-name.e.
3.account[password]:提供登錄遠程系統成功後訪問系統資源所需的補
充口令。
4.append local-file[remote-file]:將本地文件追加到遠程系統主機, 計算機基礎知識
若未指定遠程系統文件名,則使用本地文件名。
5.ascii:使用ascii類型傳輸方式。
6.bell:每個命令執行完畢後計算機響鈴一次。
7.bin:使用二進制文件傳輸方式。
8.bye:退出ftp會話過程。
9.case:在使用mget時,將遠程主機文件名中的大寫轉為小寫字母。
10.cd remote-dir:進入遠程主機目錄。
11.cp:進入遠程主機目錄的父目錄。
12.chmod mode file-name:將遠程主機文件file-name的存取方式設置為
mode,如: chmod 777 a.out 。
13.close:中斷與遠程伺服器的ftp會話(與open對應)。
14.cr:使用asscii方式傳輸文件時,將回車換行轉換為回行。
15.delete remote-file:刪除遠程主機文件。
16.debug[debug-value]:設置調試方式, 顯示發送至遠程主機的每條命
令,如: deb up 3,若設為0,表示取消debug。
17.dir[remote-dir][local-file]:顯示遠程主機目錄,並將結果存入本
地文件local-file。
18.disconnection:同close。
19.form format:將文件傳輸方式設置為format,預設為file方式。
20.get remote-file[local-file]: 將遠程主機的文件remote-file傳至
本地硬碟的local-file。
21.glob:設置mdelete,mget,mput的文件名擴展,預設時不擴展文件名,
同命令行的-g參數。
22.hash:每傳輸1024位元組,顯示一個hash符號(#)。
23.help[cmd]:顯示ftp內部命令cmd的幫助信息,如:help get。
24.idle[seconds]:將遠程伺服器的休眠計時器設為[seconds]秒。
25.image:設置二進制傳輸方式(同binary)。
26.lcd[dir]:將本地工作目錄切換至dir。
27.ls[remote-dir][local-file]:顯示遠程目錄remote-dir, 並存入本
地文件local-file。
28.macdef macro-name:定義一個宏,遇到macdef下的空行時,宏定義結
束。
29.mdelete[remote-file]:刪除遠程主機文件。
30.mdir remote-files local-file:與dir類似,但可指定多個遠程文件,
如: mdir *.o.*.zipoutfile 。
31.mget remote-files:傳輸多個遠程文件。
32.mkdir dir-name:在遠程主機中建一目錄。
33.mls remote-file local-file:同nlist,但可指定多個文件名。
34.mode[modename]:將文件傳輸方式設置為modename, 預設為stream方
式。
35.modtime file-name:顯示遠程主機文件的最後修改時間。
36.mput local-file:將多個文件傳輸至遠程主機。 電腦入門
37.newer file-name: 如果遠程機中file-name的修改時間比本地硬碟同
名文件的時間更近,則重傳該文件。
38.nlist[remote-dir][local-file]:顯示遠程主機目錄的文件清單,並
存入本地硬碟的local-file。
39.nmap[inpattern outpattern]:設置文件名映射機制, 使得文件傳輸
時,文件中的某些字元相互轉換,如:nmap $1.$2.$3[$1,$2].[$2,$3],則
傳輸文件a1.a2.a3時,文件名變為a1,a2。該命令特別適用於遠程主機為非UNIX
機的情況。
40.ntrans[inchars[outchars]]:設置文件名字元的翻譯機制,如ntrans
1R,則文件名LLL將變為RRR。
41.open host[port]:建立指定ftp伺服器連接,可指定連接埠。
42.passive:進入被動傳輸方式。
43.prompt:設置多個文件傳輸時的交互提示。
44.proxy ftp-cmd:在次要控制連接中,執行一條ftp命令, 該命令允許
連接兩個ftp伺服器,以在兩個伺服器間傳輸文件。第一條ftp命令必須為open,
以首先建立兩個伺服器間的連接。
45.put local-file[remote-file]:將本地文件local-file傳送至遠程主
機。
46.pwd:顯示遠程主機的當前工作目錄。
47.quit:同bye,退出ftp會話。
48.quote arg1,arg2...:將參數逐字發至遠程ftp伺服器,如:
quote syst.
49.recv remote-file[local-file]:同get。
50.reget remote-file[local-file]:類似於get,但若local-file存在,
則從上次傳輸中斷處續傳。
51.rhelp[cmd-name]:請求獲得遠程主機的幫助。
52.rstatus[file-name]:若未指定文件名,則顯示遠程主機的狀態,否
則顯示文件狀態。
53.rename[from][to]:更改遠程主機文件名。
54.reset:清除回答隊列。
55.restart marker:從指定的標志marker處,重新開始get或put,如:
restart 130。
56.rmdir dir-name:刪除遠程主機目錄。
57.runique:設置文件名唯一性存儲,若文件存在,則在原文件後加後綴
..1,.2等。
58.send local-file[remote-file]:同put。
59.sendport:設置PORT命令的使用。
60.site arg1,arg2...:將參數作為SITE命令逐字發送至遠程ftp主機。
61.size file-name:顯示遠程主機文件大小,如:site idle 7200。
62.status:顯示當前ftp狀態。
63.struct[struct-name]:將文件傳輸結構設置為struct-name, 預設時
使用stream結構。
64.sunique:將遠程主機文件名存儲設置為唯一(與runique對應)。
65.system:顯示遠程主機的操作系統類型。
66.tenex:將文件傳輸類型設置為TENEX機的所需的類型。
67.tick:設置傳輸時的位元組計數器。
68.trace:設置包跟蹤。
69.type[type-name]:設置文件傳輸類型為type-name,預設為ascii,如:
type binary,設置二進制傳輸方式。
70.umask[newmask]:將遠程伺服器的預設umask設置為newmask,如:
umask 3。
71.user user-name[password][account]:向遠程主機表明自己的身份,
需要口令時,必須輸入口令,如:user anonymous [email protected]。
72.verbose:同命令行的-v參數,即設置詳盡報告方式,ftp伺服器的所有
響應都將顯示給用戶,預設為on.
73.?[cmd]:同help.
看了“ftp查詢命令大全”還想看:
1. FTP命令解析
2. 通過cmd命令到ftp上下載文件
3. windows命令行怎麼使用ftp
4. Linux ftp命令的使用方法有哪些
5. 如何通過cmd命令到ftp上下載文件
Ⅳ FTP命令。
分類: 電腦/網路 >> 操作系統/系統故障
問題描述:
詳細
解析:
命令格式:ftp [-v][-d][-i][-n][-g][-s:filename][-a][-w:windowsize][puter]
說說他們的含義吧。
-v 不顯示遠程伺服器響應
-n 禁止第一次連接的時候自動登陸
-i 在多個文件傳輸期間關閉交互提示
-d 允許調試、顯示客戶機和伺服器之間傳遞的全部ftp命令
-g 不允許使用文件名通配符,文件名通配符的意思是說允許在本地文件以及路徑名中使用通配字元
-s:filename 指定包含ftp命令的文本文件。在ftp命令啟動後將自動運行這些命令。在加的參數里不能有空格。
-a 綁定數據連接時,使用任何的本地埠
-w:windowsize 忽略默認的4096傳輸緩沖區
puter 指定要連接的遠程計算機的ip地址
1) ?
說明:顯示ftp命令的說明。後面可以加參數,是加需要解釋的命令名,不加則顯示包含所有命令列表。
2) !
說明:功能是在本地計算機上運行指定命令。
如! mand 其中mand就是你要運行的命令,如果不加mand這個參數的話,則顯示本地命令提示, 這時你輸入exit命令就能返回到ftp了。
3)$ macro-ame[args]
說明:執行宏定義macro-name。
4) append
說明:使用當前文件類型設置,將本地文件附加到遠程計算機中。大概格式是append local-file [remote-file] 其中local-file是說指定要添加的本地文件。remote-file是說指定要將local-file附加到遠程計算機文件,要是省了這個,則是使用本地文件名做遠程文件名。
5)account[password]
說明:提供登錄遠程系統成功後訪問系統資源所需的補充口令。
6)ascii
說明:默認情況下,將文件傳輸類型設置為ASCII
7)bell
說明:響玲開關,意思是文件傳輸完成後是否有玲聲提醒。默認是關閉的。
8)binary
說明:將文件傳輸類型設置為二進制。
9)bye
說明:結束和遠程計算機的ftp會話,也就是安全斷開,退出ftp.
10)cd
說明:更改遠程計算機上的工作目錄。
如cd data 其中data是要進入的遠程計算機的目錄。
12)cp
說明:進入遠程主機目錄的父目錄。
13)chmod modefile-name
說明:將遠程主機文件file-name的存取方式設置為mode。
如 chmod 777 a.out。
14)cr
說明:使用asscii方式傳輸文件時,將回車換行轉換為回行。
15)close
說明:結束與遠程伺服器的ftp會話,並返回命令解釋程序。
16)dir
說明:顯示遠程的文件以及子目錄列表。
如dir data local-file其中data是指定要查看列表的目錄,沒指定的話就是當前目錄。local-file是指定要保存列表的本地文件,不指定的話就在屏幕輸出。
17)debug
說明:調試開關,打開的時候列印每個發送到遠程計算機的命令,命令前有——>默認情況是關閉的。
18)disconnnect
說明:與遠程計算機斷開連接,但還保持著ftp命令提示符。
19)delete remote-file
說明:刪除遠程主機文件。
20)disconnection
說明:同close。
21)form format
說明:將文件傳輸方式設置為format,預設為file方式。
22)get
說明:使用當前文件傳輸類型,把遠程的文件拷貝到本地計算機上。
如get remote-file local-fileremote-file是指定要復制的文件,local-file是指定本地計算機上的文件名,沒有指定的話則個remote-file同名。
23)glob
說明:文件名通配開關
24)hash
說明:轉換每個傳輸數據快的散列標記列印(#).數據快的大小是2048位元組。默認情況下是關閉的,
25)help
說明:顯示ftp命令的解釋,如help mmand 其中mand就是你要解釋的命令,如果不加mand這個參數的話就會顯示所有命令的列表
26)idle[seconds]
說明:將遠程伺服器的休眠計時器設為[seconds]秒。
27)image
說明:設置二進制傳輸方式(同binary)
28)lcd
說明:更改本地計算機的本地目錄,在默認的時候是啟動ftp的目錄.這個不要覺得沒用啊,在你使用ftp的時候為了傳遞文件不是常改變本地和遠程計算機的目錄嗎?
如lcd [directory] 其中[directory]是指定要進入的本地計算機的目錄,如果你不加這個參數,就會顯示出本地計算機的工作目錄.
29)literal
說明:向遠程ftp伺服器發送協商參數,報告.
如lireral argument [...] 其中argument是指定要發送給遠程伺服器的協商參數。
30)ls
說明:顯示遠程目錄的文件和字目錄.
如ls remote-directory local-file其中remote-directory是指要查看的列表的目錄,不指定的話顯示的是當前工作目錄。local-file是指定要保存列表的本地文件.不指定的話是在屏幕上輸出.
還有啊,寫不下了。
Ⅵ FTP的常用命令和使用方法
FTP命令是Internet用戶使用最頻繁的命令之一,不論是在DOS還是UNIX操作系統下使用FTP,都會遇到大量的FTP內部命令。熟悉並靈活應用FTP的內部命令,可以大大方便使用者,並收到事半功倍之效。下面以Win9x的DOS窗口中的FTP命令為例,介紹一下其用法。(本站註:若想在純DOS下使用FTP命令,則需先載入網路設備如網卡或數據機的Packet驅動程序,再使用本站「網路工具」中的Wattcp FTP程序,其用法與下面介紹的類似,詳情請見本站的「DOS使用」欄目)
FTP的命令行格式為: ftp -v -d -i -n -g [主機名] ,其中
-v 顯示遠程伺服器的所有響應信息;
-n 限制ftp的自動登錄,即不使用;
.n etrc文件;
-d 使用調試方式;
-g 取消全局文件名。
FTP使用的內部命令如下(中括弧表示可選項):
1.![cmd[args]:在本地機中執行交互shell,exit回到ftp環境,如:!ls*.zip
2.$ macro-ame[args]: 執行宏定義macro-name。
3.account[password]: 提供登錄遠程系統成功後訪問系統資源所需的補充口令。
4.append local-file[remote-file]:將本地文件追加到遠程系統主機,若未指定遠程系統文件名,則使用本地文件名。
5.ascii:使用ascii類型傳輸方式。
6.bell:每個命令執行完畢後計算機響鈴一次。
7.bin:使用二進制文件傳輸方式。
8.bye:退出ftp會話過程。
9.case:在使用mget時,將遠程主機文件名中的大寫轉為小寫字母。
10.cd remote-dir:進入遠程主機目錄。
11.cp:進入遠程主機目錄的父目錄。
12.chmod mode file-name:將遠程主機文件file-name的存取方式設置為mode,如:chmod 777 a.out。
13.close:中斷與遠程伺服器的ftp會話(與open對應)。
14.cr:使用asscii方式傳輸文件時,將回車換行轉換為回行。
15.delete remote-file:刪除遠程主機文件。
16.debug[debug-value]:設置調試方式, 顯示發送至遠程主機的每條命令,如:deb up 3,若設為0,表示取消debug。
17.dir[remote-dir][local-file]:顯示遠程主機目錄,並將結果存入本地文件local-file。
18.disconnection:同close。
19.form format:將文件傳輸方式設置為format,預設為file方式。
20.get remote-file[local-file]: 將遠程主機的文件remote-file傳至本地硬碟的local-file。
21.glob:設置mdelete,mget,mput的文件名擴展,預設時不擴展文件名,同命令行的-g參數。
22.hash:每傳輸1024位元組,顯示一個hash符號(#)。
23.help[cmd]:顯示ftp內部命令cmd的幫助信息,如:help get。
24.idle[seconds]:將遠程伺服器的休眠計時器設為[seconds]秒。
25.image:設置二進制傳輸方式(同binary)。
26.lcd[dir]:將本地工作目錄切換至dir。
27.ls[remote-dir][local-file]:顯示遠程目錄remote-dir, 並存入本地文件local-file。
28.macdef macro-name:定義一個宏,遇到macdef下的空行時,宏定義結束。
29.mdelete[remote-file]:刪除遠程主機文件。
30.mdir remote-files local-file:與dir類似,但可指定多個遠程文件,如:mdir *.o.*.zipoutfile 。
31.mget remote-files:傳輸多個遠程文件。
32.mkdir dir-name:在遠程主機中建一目錄。
33.mls remote-file local-file:同nlist,但可指定多個文件名。
34.mode[modename]:將文件傳輸方式設置為modename, 預設為stream方式。
35.modtime file-name:顯示遠程主機文件的最後修改時間。
36.mput local-file:將多個文件傳輸至遠程主機。
37.newer file-name: 如果遠程機中file-name的修改時間比本地硬碟同名文件的時間更近,則重傳該文件。
38.nlist[remote-dir][local-file]:顯示遠程主機目錄的文件清單,並存入本地硬碟的local-file。
39.nmap[inpattern outpattern]:設置文件名映射機制, 使得文件傳輸時,文件中的某些字元相互轉換, 如:nmap $1.$2.$3[$1,$2].[$2,$3],則傳輸文件a1.a2.a3時,文件名變為a1,a2。 該命令特別適用於遠程主機為非UNIX機的情況。
40.ntrans[inchars[outchars]:設置文件名字元的翻譯機制,如ntrans1R,則文件名LLL將變為RRR。
41.open host[port]:建立指定ftp伺服器連接,可指定連接埠。
42.passive:進入被動傳輸方式。
43.prompt:設置多個文件傳輸時的交互提示。
44.proxy ftp-cmd:在次要控制連接中,執行一條ftp命令, 該命令允許連接兩個ftp伺服器,以在兩個伺服器間傳輸文件。第一條ftp命令必須為open,以首先建立兩個伺服器間的連接。
45.put local-file[remote-file]:將本地文件local-file傳送至遠程主機。
46.pwd:顯示遠程主機的當前工作目錄。
47.quit:同bye,退出ftp會話。
48.quote arg1,arg2...:將參數逐字發至遠程ftp伺服器,如:quote syst.
49.recv remote-file[local-file]:同get。
50.reget remote-file[local-file]:類似於get, 但若local-file存在,則從上次傳輸中斷處續傳。
51.rhelp[cmd-name]:請求獲得遠程主機的幫助。
52.rstatus[file-name]:若未指定文件名,則顯示遠程主機的狀態, 否則顯示文件狀態。
53.rename[from][to]:更改遠程主機文件名。
54.reset:清除回答隊列。
55.restart marker:從指定的標志marker處,重新開始get或put,如:restart 130。
56.rmdir dir-name:刪除遠程主機目錄。
57.runique:設置文件名唯一性存儲,若文件存在,則在原文件後加後綴.1,.2等。
58.send local-file[remote-file]:同put。
59.sendport:設置PORT命令的使用。
60.site arg1,arg2...:將參數作為SITE命令逐字發送至遠程ftp主機。
61.size file-name:顯示遠程主機文件大小,如:site idle 7200。
62.status:顯示當前ftp狀態。
63.struct[struct-name]:將文件傳輸結構設置為struct-name, 預設時使用stream結構。
64.sunique:將遠程主機文件名存儲設置為唯一(與runique對應)。
65.system:顯示遠程主機的操作系統類型。
66.tenex:將文件傳輸類型設置為TENEX機的所需的類型。
67.tick:設置傳輸時的位元組計數器。
68.trace:設置包跟蹤。
69.type[type-name]:設置文件傳輸類型為type-name,預設為ascii,如:type binary,設置二進制傳輸方式。
70.umask[newmask]:將遠程伺服器的預設umask設置為newmask,如:umask 3
71.user user-name[password][account]:向遠程主機表明自己的身份,需要口令時,必須輸入口令,如:user anonymous [email protected]。
72.verbose:同命令行的-v參數,即設置詳盡報告方式,ftp 伺服器的所有響應都將顯示給用戶,預設為on.
73.?[cmd]:同help.
Ⅶ 急求!ftp命令的全部命令集合
61sendport
說明:設置PORT命令的使用。
62)site arg1,arg2
說明:將參數作為SITE命令逐字發送至遠程ftp主機。
63)size file-name
說明:顯示遠程主機文件大小。
如site idle 7200。
64)status
說明:顯示當前ftp狀態。
65)struct[struct-name]
說明:將文件傳輸結構設置為struct-name,預設時使用 stream結構。
66)sunique
說明:將遠程主機文件名存儲設置為唯一(與runique對應)。
67)system
說明:顯示遠程主機的作系統類型。
68)tenex
說明:將文件傳輸類型設置為TENEX機所需的類型。
69)tick
說明:設置傳輸時的位元組計數器。
70)trace
說明:轉換報文跟蹤,運行ftp的命令時,trace將顯示沒個報文的理由。
71)type
說明:設置或顯示文件傳輸類型.
如type [type-name]其中type-name 的意思是文件傳輸的類型,默認是ASCII,沒加這個參數就是顯示當前的傳輸類型.
72umask[newmask]
說明:將遠程伺服器的預設umask設置為newmask,如umask 3。
73)user
說明:指定連接到遠程計算機的用戶.
如user user-name [passwd] [account]其中user-name不用說都是用來登陸計算機的用戶名了,passwd是指定user-name的密碼,不指定的話ftp會提示輸入密碼。account是指定用來登陸計算機的帳號,如不指定,ftp會提示輸入帳號.
74)verbose
說明:轉換冗餘模式,這里如果打開,會顯示所有ftp響應,文件傳輸結束的時候會顯示傳輸的效率和統計信息,默認的情況是打開的。
Ⅷ Qt中使用QNetworkAccessManager實現ftp上傳功能
QFile file(xxx)
file.open(QIODevice::ReadOnly)
QByteArray data = file -> readAll()
QNetworkAccessManager manager;
QUrl url('ftp://xxx.xxx.xxx'); // 這里是ftp地址+文件名 一定要加文件名
url.setUsername(xxx)
url.setPassword(xxx)
manager.put(QNetworkRequest(url), data)
差不多是這樣
Ⅸ qt實現ftp創建文件夾命令
本文實例為大家分享了QT實現FTP上傳文件的具體代碼,供大家參考,具體內容如下
兩台電腦通過網線建立本地連接,保證網關在同一段;
伺服器端打開ftp;
控制面板→程序→啟用或關閉windows功能→windows功能→Internet信息服務
啟用「FTP服務」FTP擴展性」 IIS管理控制台」
開始屏幕的搜索中輸入「IIS」,然後點擊打開「IIS管理器」
打開「IIS管理器」後,在左欄的「網站」上點擊右鍵,打開「添加FTP站點」
然後按照提示填寫站點信息
點擊「下一步」,按照下圖提示,設置「綁定和SSL設置」,在「IP地址」處,可以用內網IP也可以用外網IP,訪客自然也就根據你的IP設定來決定;
點擊「下一步」,設置「身份驗證和授權信息」
然後在本機瀏覽器地址欄中輸入「ftp://填寫的IP」測試一下
客戶端網頁測試遠程訪問;
客戶端(另一台電腦)瀏覽器地址欄中輸入「ftp://填寫的IP」測試一下
客戶端cmd測試遠程訪問;
win+r打開運行窗口,輸入cmd
回車打開cmd命令窗口
cmd命令中輸入:ftp回車
回車切換至ftp命令窗口,輸入命令:open,回車提示:到
到即所要連接測試的ftp地址,我們輸入:IP 22
即:ip地址+空格+埠號,沒有+號
回車後彈出用戶一行,輸入ftp的用戶名後回車,輸入ftp用戶名對應的密碼
輸入密碼後回車,如果提示,user logged in就說么ftp創建無問題
客戶端程序測試遠程訪問。
新建程序,添加ftpclass.cpp、ftpclass.h,復制main.cpp內容到程序入口函數
注意:/項目-屬性-常規-字元集-使用多位元組字元集/
//main.cpp
#include "stdafx.h"
#include "ftpclass.h"
void main()
{
printf("------- 開始測試!------\n");
printf("01--創建連接 %d\n", FtpClass::createConnection());
printf("02--打開目標ftp %d\n", FtpClass::createTable());
/*可以讀取ini內參數
FtpClass::ftp_Ip = TEXT("Ini讀取");
FtpClass::ftp_Port = TEXT("Ini讀取");
FtpClass::ftp_User = TEXT("Ini讀取");
FtpClass::ftp_Password = TEXT("Ini讀取");
FtpClass::ftp_Fixed_Path = TEXT("Ini讀取");*/
printf("03--創建文件夾 %d\n", FtpClass::createFolder("自動生成目錄1","自動生成目錄2","自動生成目錄3"));
/*上傳目標路徑*/
printf("04--上傳文件 %d\n", FtpClass::insert( "D:/a.txt", "b.txt"));
/*本機文件需要上傳文件*/ /*上傳後文件名稱,可以和本地文件名稱不一樣,類型最好別換*/
printf("05--關閉通訊 %d\n", FtpClass::createClose());
printf("------ 結束測試!------\n");
return ;
}
//ftpclass.h
/*項目-屬性-常規-字元集-使用多位元組字元集*/
/*wininet.lib、shlwapi.lib可以直接添加到附加依賴項*/
/*BOOL_VERIFY、NULL_VERIFY 程序結束判斷*/
#pragma once
#pragma comment(lib,"wininet.lib")
#pragma comment(lib,"shlwapi.lib")
#define BOOL_VERIFY(emStatus_bool,switch_bool) \
if (emStatus_bool == true)\
{return true;}\
else{\
if (switch_bool == 3) printf(" FTP_03_err:創建文件夾失敗!%d\n"); \
if (switch_bool == 4) printf(" FTP_04_err:上傳文件失敗!\n"); \
if (switch_bool == 5) printf(" FTP_05_err:關閉窗口句柄失敗!\n"); \
return false;\
}
#define NULL_VERIFY(emStatus_null,switch_null) \
if (emStatus_null != NULL)\
{return true;}\
else{\
if (switch_null == 1) {printf(" FTP_01_err:打開通訊錯誤 Error:%d\n", GetLastError());}\
if (switch_null == 2) {printf(" FTP_02_err:建立連接錯誤 Error:%d\n", GetLastError());}\
return false;\
}
#include "stdafx.h"//沒用
#include <afxinet.h>//MFC相關
#include "wininet.h"//調用FTP相關類
#include "shlwapi.h"//調用文件操作相關類
class FtpClass
{
public:
/*ini讀取變數*/
static CString ftp_Ip;//目標ip
static CString ftp_Port;//目標埠
static CString ftp_User;//目標賬戶
static CString ftp_Password;//目標密碼
static CString ftp_Fixed_Path;//目標固定路徑
static CString ftp_Free_Path;//目標自己生成路徑
/*全局變數*/
static BOOL pRes;
static HINTERNET hInternet;
static HINTERNET hConnect;
/*全局函數*/
static bool createConnection(); //創建一個連接
static bool createTable();
static bool ThreadInternetConnect(PVOID )
//打開目標ftp
static bool createFolder(CString temp1, CString temp2, CString temp3); //上傳文件
static bool insert(CString temp, CString temp1); //出入數據
static bool createClose(); //斷開連接
};
//ftpclass.cpp
#include "stdafx.h"
#include "ftpclass.h"
CString FtpClass::ftp_Ip = TEXT("192.168.3.104");
CString FtpClass::ftp_Port = TEXT("21");
CString FtpClass::ftp_User = TEXT("Administrator");
CString FtpClass::ftp_Password = TEXT("xinxin");
CString FtpClass::ftp_Fixed_Path = TEXT("1級固定目錄/2級固定目錄/3級固定目錄");
CString FtpClass::ftp_Free_Path = TEXT("自動生成目錄");
BOOL FtpClass::pRes = false;
HINTERNET FtpClass::hInternet = NULL;
HINTERNET FtpClass::hConnect = NULL;
//創建一個連接
bool FtpClass::createConnection() {
/*ftp_Ip = TEXT("Ini讀取");
ftp_Port = TEXT("Ini讀取");
ftp_User = TEXT("Ini讀取");
ftp_Password = TEXT("Ini讀取");
ftp_Fixed_Path = TEXT("Ini讀取");*/
hInternet = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT,
NULL, NULL, INTERNET_FLAG_NO_CACHE_WRITE);
NULL_VERIFY(hInternet,1);
}
bool FtpClass::ThreadInternetConnect(PVOID param) {
// 打開http
hConnect = InternetConnect(hInternet, ftp_Ip, INTERNET_DEFAULT_FTP_PORT,//INTERNET_DEFAULT_FTP_PORT 第三個參數默認值21
ftp_User, ftp_Password, INTERNET_SERVICE_FTP,
INTERNET_FLAG_EXISTING_CONNECT || INTERNET_FLAG_PASSIVE, 0);
return 1;
}
//打開目標ftp
bool FtpClass::createTable()
{
/*hConnect = InternetConnect(hInternet, ftp_Ip, 25,//INTERNET_DEFAULT_FTP_PORT 第三個參數默認值21
ftp_User, ftp_Password, INTERNET_SERVICE_FTP,
INTERNET_FLAG_EXISTING_CONNECT || INTERNET_FLAG_PASSIVE, 0);
NULL_VERIFY(hConnect,2);*/
HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInternetConnect, (LPVOID)NULL, 0, NULL);
//超時3秒,如果等待結果是超時
if (WaitForSingleObject(hThread, 3 * 1000) == WAIT_TIMEOUT) {
TerminateThread(hThread, 0);
CloseHandle(hThread);
NULL_VERIFY(hConnect, 2);
}
NULL_VERIFY(hConnect, 2);
}
//上傳文件
bool FtpClass::createFolder(CString temp1, CString temp2, CString temp3)
{
/*新建文件件每次只能創建一級,多個需要分多次創建*/
pRes = false;
ftp_Free_Path = "";
ftp_Free_Path = ftp_Fixed_Path + "/" + temp1;
FtpCreateDirectory(hConnect, ftp_Free_Path);
ftp_Free_Path = ftp_Free_Path + "/" + temp2;
FtpCreateDirectory(hConnect, ftp_Free_Path);
ftp_Free_Path = ftp_Free_Path + "/" + temp3;
pRes = FtpCreateDirectory(hConnect, ftp_Free_Path);
BOOL_VERIFY(pRes,3);
}
//出入數據
bool FtpClass::insert(CString temp, CString temp1)
{
pRes = false;
ftp_Free_Path = ftp_Free_Path + "/" +temp1;
pRes = FtpPutFile(hConnect, temp,/*本機文件*/
ftp_Free_Path, /*TEXT("一級目錄/二級目錄/三級目錄/a.txt"),*/
FTP_TRANSFER_TYPE_ASCII, 0);
BOOL_VERIFY(pRes,4);
}
//斷開連接
bool FtpClass::createClose()
{
pRes = false;
if (InternetCloseHandle(hConnect))
pRes = InternetCloseHandle(hInternet);
BOOL_VERIFY(pRes,5);
}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
Ⅹ 怎麼用命令向ftp伺服器上傳文件
在本地電腦D:盤創建一個文件夾"qint"。將要上傳的文件復制到d:\qint里。通過FTP命令將文件從本地上傳到伺服器的步驟如下:
1.「開始」-「運行」-輸入「FTP」
2.open qint.ithot.net 這一步可以與第一步合並,在「運行」里直接輸入"ftp qint.ithot.net"。如果你的FTP伺服器不是用的21默認埠,假如埠是2121,那麼此步的命令應在後面空格加2121,即「open qint.ithot.net 2121」
3.username 提示你輸入用戶名
4.user1234
5.dir 你成功登陸後就可以用dir查看命令查看FTP伺服器中的文件及目錄,用ls命令只可以查看文件。
6.mkdir qint 在FTP伺服器上根目錄下建立qint目錄。
7.cd qint 進入目錄qint,用「cd 你的目錄名」可以進入當前目錄的下一級目錄,這跟DOS一樣。
8.bin 採用二進制傳輸。如果你要上傳下載,這一步很重要,不先執行這個命令,上傳下載會很慢。
9.lcd d:\qint 定位本地默認文件夾,在前面我事先在D:盤創建的。
10.!dir 查看本地文件夾中的文件及目錄*/
11.put i001.jpg
/*將當前目錄(d:\qint)中的文件i001.jpg上傳到FTP伺服器默認目錄。可以用"mput *.*"將所有文件上傳到FTP伺服器上。