當前位置:首頁 » 文件管理 » 編程ftp哪個動作好

編程ftp哪個動作好

發布時間: 2022-06-25 02:56:07

1. ftp的詳細用法

FTP客戶端軟體的用法

下面是我從網上摘錄的有關FTP客戶端軟體CUTE FTP和FLASHFXP的簡單用法,它們的基本用法大同小異,其它FTP客戶端軟體的用法也與此類同:

一、CUTE FTP的簡單用法:
安裝好Cute FTP後運行打開,在彈出的EDIT HOST窗口中(默認為如此,否則按F4鍵會彈出來)單擊Add site,在site lable中填一個任意的標識名,在host address中填主機地址(伺服器域名或者IP地址,因為我的ADSL的IP地址每次會變,所以每次要等我臨時通知),在user id 中填您申請的帳號(即我給你設定的帳號,在password中填您的密碼(即我給你設定的密碼),其它項留默認即可,按確定後在出現的ftp site manager框的右面可見到剛才在site lable中填的標識名,之後雙擊此標識名便自動連接到伺服器上了,待出現歡迎提示框後單擊下方的確定,這時左方是您的本地硬碟,右方是伺服器硬碟,您將左方的文件用滑鼠選定後直接拖到右方即可上傳

二、CUTE FTP的詳細用法:
1、設置
(1) 啟動CuteFTP,激亮"FTP sites",單擊"Add folder"按鈕;

(2)在"create new folder"中填入新文件夾名稱,如"旭日",然後按"OK";

(3)點亮"旭日"文件夾,單擊"add site"按鈕;

(4)"site label"中可填入你自己對此站點的名稱,如「旭日工作室」,"host address"填寫要上傳伺服器地址,如"ftp.533.net"。"user id"填入您的用戶名或"anonymous"(匿名FTP),"password"輸入您的密碼。如果您是帳號用戶,"login type"選擇normal,若是匿名FTP,則選擇Anonymous。remote directory/local directory填寫登錄時ftp主機/用戶PC機的起始目錄,設置好之後請按"確定";

(5)現在,您已經完成了客戶端ftp軟體的設置,點亮所要連接的主機,單擊connect按鈕,即可連接上ftp主機。 sitelabel可以不填 Host Address: 可填IP或域名地址

2、操作:
連接上網後,便會出現一個窗口。左邊是本地PC機目錄下的內容,右邊是FTP主機預設的目錄下的內容。單擊功能菜單或按滑鼠右鍵,都有一些命令可進行文件/目錄的操作,也可通過拖拉的動作來進行。

三、Flashfxp的用法簡介:
FlashFXP是一款功能強大的FXP/FTP軟體,集其他優秀FTP軟體的優點於一身。目前使用者越來越多,大有超過傳統的CuteFTP之勢,成為網站站長們的必備工具之一。
一、功能介紹
安裝就不用我說了吧,現在我們就來看FlashFXP的主界面。
FlashFXP分三個主要部分:菜單、工作區、信息區。
菜單:
由於上面提供下載的是漢化版,菜單都是中文,所以關於菜單我就先不詳述,在下面我會以新建一個FTP連接的實例來講解FlashFXP的具體用法。然後在第三部分再詳細介紹菜單中的重要部分,因為其中很多應用是高級操作,而且在用過之後再來看菜單,有事半功倍之效。
工作區:
工作區分為左右兩個部分,第一個部分的上部分別有一排工具按鈕�圖2和圖3。請注意按鈕,它是用來切換本地瀏覽器端和伺服器端的,在本地狀態下,工具欄下面會列出所在目錄中的文件。按一下這個按鈕,它會變成,這時下方會變為伺服器端的文件,如果這時已經與伺服器連接的話否則將顯示為空白。這個按鈕的作用是傳送你在本地端選定好的一個或多個文件(夾)到伺服器端。這個按鈕是用來比較本地端與伺服器端文件的,這是一個很方便的功能。例如點擊它以後,FlashFXP會自動比較本地端與伺服器端當前目錄下的文件,發現有相同的文件就會自動在本地端過濾掉,這時在兩端的窗內只剩下不同的文件,但那些相同的文件實際上都還在,只是被FlashFXP隱藏起來了,以方便你清楚地把沒上傳的文件上傳,其實你按上方的刷新按鈕,它們就都回來了。在這個按鈕右邊還有一個下拉箭頭,你可以選擇精確比較、模糊比較、高級,在高級中你可以設置比較的方式,如忽略文件擴展名、比較名稱和大小、選擇非匹配(其它的按鈕都很簡單,且有中文提示,就不騙稿費了)。
信息區:
信息區也分為兩個部分,左邊是上傳隊列區,將會顯示你要上傳的文件信息,右邊是上傳狀態窗口,將會顯示與伺服器的連接信息、FTP伺服器的相關信息、文件上傳的狀態等等。雙擊狀態窗口,它將以新窗口的方式出現。
另外,在窗口的最下面還有狀態欄,它會顯示上傳或下載文件的動態百分比進度、完成大小的數字、當前文件剩餘時間,所有隊列文件的剩餘時間等。
二、實戰
現在以我的網站為實例來講解如何用FlashFXP建立一個FTP連接並上傳文件到自己的網站上。
基本資料(在你申請免費或付費網站空間的時候會從提供商處得到這些資料)
FTP伺服器地址:homeftp.etang.com
用戶名:onlylogo
密碼:123456(當然是假的啦^o^)
1.建立FTP連接
第一步當然要先與自己的網站伺服器連接上,所以我們要先輸入一些資料。首先在菜單欄中點擊「站點」,再選「站點管理器」,或用快捷鍵F4直接打開(圖4)。
點「新建站點」按鈕來新建一個FTP連接,這時會彈出對話框要求你輸入站點名,比如輸入「ONLYLOGO」,確定後你會看到站點管理器左邊的站點列表框中出現了ONLY LOGO這個名字,而右邊原來是灰色的區域也變為可寫狀態。此時根據網站的相關信息將它們輸入到相應的框中,如圖5所示。點擊「應用」按鈕,這樣網站的連接就建立好了。
2.連接與上傳
在站點信息填好後有兩種方法可以實現伺服器的連接,在站點管理器中的站點列表框選中你的網站,再點「連接」按鈕;或者在FlashFXP主界面中點按鈕,然後在彈出的下拉菜單中選中ONLY LOGO。這樣FlashFXP會自動登錄到你的網站(圖6)。
在本地端選擇好你要上傳文件的位置並選中它(支持多選和文件夾選取),本例中本地端是在窗口的左邊,把選好的文件拖動到右邊的伺服器端方框內,此時信息區上傳文件列表框會自動列出這些文件,表示它們正等待上傳。這時按上方的按鈕就開始上傳了!
還有一種更簡捷的方法,在選好上傳文件後,直接點上方的「傳送選定」按鈕就開始傳送了。
這樣你已經可以完成整個站點的上傳了。
三、高級進階
現在我來講一講FlashFXP的高級應用。
這里我只講菜單欄中的一些很重要的功能和選項,比較簡單的就不一一解釋。
1.「FTP」→「在傳送完成時」子菜單下有六個選項,分別是「空閑」、「斷開站點」、「退出FlashFXP」、「掛斷」、「掛斷然後退出FlashFXP」、「掛斷然後關閉計算機」、「關閉計算機」、「注銷計算機」,這個功能可以讓電腦自動下載,然後執行你所要的操作。更詳細的設置可以到「工具」→「調度」中設置。
2.「站點」→「導入站點」子菜單可以讓你從FlashFXP的舊版本以及BulletProof、CuteFTP、LeapFTP、FTP Explorer、WS_FTP等常用FTP軟體導入站點,極大提高了自身的兼容性。
3.在「顯示」菜單中你可以設置FlashFXP的版面結構,如顯示區是在窗口的上面還是下面,是否切換樹狀顯示等等,你試一試就知道了。
4.最重要的菜單是「選項」的參數選擇,按F6你可以直接打開這個窗口(圖7)。
在「配置FlashFXP」窗口中有六個選項卡,分別是「常規」、「選項」、「高級」、「傳送」、「代理/防火牆/標識」、「顯示」。下面我們來一一介紹它們。
①常規
此處可以設置E-mail地址、默認下載路徑、日誌名稱文件等。下半部分是比較重要的參數,「連接超時」是設置一次連接的時間限制,比如設置為30,意思就是如果30秒還沒有連接上,那麼這次連接就中止,重新開始下一次連接。「重試延遲」意思是如果本次連接超過規定時間後,在多少秒後開始再次連接。「向後滾動緩沖」是設置FlashFXP的連接信息欄中顯示信息的最大行數。「延遲數」是設置多少次連接失敗後FlashFXP停止連接的嘗試。
②選項
「允許反空閑」設置FlashFXP是否防止伺服器斷開連接。「彈出登錄信息窗口」是設置與伺服器連接後是否彈出一個窗口,這個窗口將會顯示伺服器上的信息,比如IP地址、埠號、用戶名和密碼的驗證信息以及其它一些說明信息。在下面的「確認」欄中,你可以設置在哪些情況下FlashFXP會要求你對所進行的操作進行確認(圖8)。
③高級
這里有兩個較重要的選項。一個是「任務欄按鈕標題」,它設置在任務欄上,當你用滑鼠指向FlashFXP按鈕時出現的提示信息。具體用法點擊參數輸入框右邊的幫助按鈕可以看到,注意並不是下面的幫助按鈕哦。
另一個是最下面部分,設置當你在本地端或遠程伺服器端雙擊時FlashFXP會進行什麼樣的操作;當你拖動文件時,又會執行什麼樣的操作。
④傳送
設置傳送完成時是否要刷新當前目錄,是否要限制上傳或下載的速度以及這個速度的大小。「上傳文件名稱轉換」設置在上傳和下載時,是不是要把文件的名稱改成大寫或小寫或首字母大寫。
⑤代理/防火牆/標識
這項一般用戶用不到,它用於設置代理伺服器地址,防火牆埠及標識伺服器登錄信息。
⑥顯示
設置文件排列的順序,是否在標題中顯示站點名稱等與顯示有關的選項。

2. 用C語言寫一個FTP的客戶端程序,需要了解哪些知識

一、需要的知識點:
1、SOCKET技術,網路編程的基本功能
2、FTP
3、如果需要自己寫,可能需要熟悉各個網路框架
二、編寫FTP所需要掌握的框架
1、wininet
2、libcurl

3. 網路編程案例ftp客戶端怎麼連接伺服器

示例:創建一個http get請求,序列化後的請求應該通過寫入流(write stream)發送。
CFStringRef requestHeader = CFSTR("Connection");
CFStringRef requestHeaderValue = CFSTR("close");
CFStringRef requestBody = CFSTR("");

CFStringRef url = CFSTR("http://www..com/");
CFStringRef requestMethod = CFSTR("GET");

CFURLRef requestURL = CFURLCreateWithString(kCFAllocatorDefault, url, NULL);
CFHTTPMessageRef request = CFHTTPMessageCreateRequest(kCFAllocatorDefault, requestMethod, requestURL, kCFHTTPVersion1_1);
CFHTTPMessageSetBody(request, requestBody);
(request, requestHeader, requestHeaderValue);

CFDataRef serializedRequest = (request);

創建HTTP相應的步驟與創建請求的方法差不多,不同之處是用CFHTTPMessageCreateResponse函數代替CFHTTPMessageCreateRequest。
可以使用一個CFReadStream對象來序列化並發送CFHTTP請求。當使用CFReadStream對象時,打開讀取流的同時消息會被序列化並發送,這樣可以方便地獲取響應。如下:
CFHTTPMessageRef request = CFHTTPMessageCreateRequest(kCFAllocatorDefault, requestMethod, requestURL, kCFHTTPVersion1_1);
CFHTTPMessageSetBody(request, requestBody);
(request, requestHeader, requestHeaderValue);
CFReadStreamRef readStream = (kCFAllocatorDefault, request);
CFReadStreamOpen(readStream);

調用CFReadStreamCopyProperty 可以從讀取流獲取響應消息,代碼如下:
CFHTTPMessageRef response = CFReadStreamCopyProperty(readStream, );
使用函數獲得完整的狀態行,如下:
CFStringRef statusLine = (response);
或者,使用函數獲取狀態碼,如下:
UInt32 errCode = (response);

為了獲取返回的數據,可以使用CFReadStreamSetClient方法設置回調函數,將readStream加到run loop中。在回調函數將每次讀取的數據存起來(比如,有一個NSMutableData類型的變數data),讀完後處理數據,代碼如下:
if( == eventType)
{
UInt8 buff[255];
int length = CFReadStreamRead(stream, buff, 254);
[data appendBytes:buff length:length];

if(kCFStreamEventEndEncountered == eventType)
{
//讀取已完成,處理讀取的數據
}
}

如果接收數據是中文字元串,注意在創建NSString時選擇編碼,比如UTF8或GB2312編碼,如下所示:
NSString *string = [[NSString alloc] initWithData:data encoding:0x80000632];//GB2312編碼
當使用創建讀取流時,流的重定向默認是被禁止的。如果請求連接被重定向,會導致一個錯誤,它的狀態碼為300~307。如果收到一個重定向錯誤,需要關閉這個流,然後重新創建一個流,啟用重定向並打開流。如下:
CFReadStreamRef readStream = (kCFAllocatorDefault, request);
if(CFReadStreamSetProperty(readStream, , kCFBooleanTrue) == false)
{
//出錯處理
}
CFReadStreamOpen(myReadStream);

2.CFFTP
CFFTP也使用CFReadStream來傳送FTP數據。使用CFReadStreamCreateWithFTPURL方法來創建FTP請求,這樣會同時創建一個CFReadStreamRef對象來讀取FTP伺服器發送的數據,代碼如下:
CFStringRef url = CFSTR("ftp://ftp.example.com/file.txt");
CFURLRef requestURL = CFURLCreateWithString(kCFAllocatorDefault, url, NULL);
CFReadStreamRef readStream = CFReadStreamCreateWithFTPURL(kCFAllocatorDefault, requestURL);
下一步,使用CFReadStreamSetClient方法設置回調函數來讀取數據,然後把readStream加到程序的run loop中。
如果FTP需要使用用戶名和密碼認證,通過CFReadStreamSetProperty方法設置kCFStreamPropertyFTPUserName和kCFStreamPropertyFTPPassword屬性。
要將文件下載到本地,可以使用CFWriteStreamCreateWithFile方法創建一個指向本地文件的寫入流,將接收到的數據寫入。
上傳文件和下載文件差不多,只不過把讀取流和寫入流反過來用,使用CFWriteStreamCreateWithFTPURL方法創建寫入流,使用CFReadStreamCreateWithFile創建讀取流。
創建遠程目錄的方法與上傳文件類似,只不過將CFURL對象設置一個路徑而不是文件。
獲取目錄列表的方法與下載文件類似,數據讀取到緩存後使用,方法對讀取進行解析。

3.NSURLConnection
CFNetwork是比較底層的介面,雖然用起來比較靈活,但並不好用。多數程序僅僅需要創建簡單的請求來獲取互聯網上的一個文件,那麼使用NSURLConnection要更加方便,因為不用跟套接字、流還有回調函數打交道,取而代之的是更熟悉的委託機制。
創建一個NSURL對象:
NSNRL *url = [NSURL URLWithString:@"http://www..com/"];
NSURL對象是用來創建NSURLRequest對象的,如下:
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url cachePolicy::60.0];

可選的緩存策略有以下幾種。
(1):使用相關協議默認緩存策略。
(2): 無論本地緩存是什麼,請求都要重新載入數據。
(3):不僅要忽略本地緩存,在協議允許的情況下也要忽略遠程代理或中間件的緩存。
(4):優先使用緩存數據,緩存不存在時再去載入請求。
(5):只載入緩存數據,緩存中不存在時也不請求,可理解為離線模式。
(6): 緩存中的數據沒有過期時才載入緩存中的數據,否則請求數據並刷新緩存。

創建完NSURLRequest對象後就可以創建NSURLConnection對象了,如下:
NSURLConnection *connection = [[NSRULConnection alloc] initWithRequest:request delegate:self];

這個是非同步調用,NSURLConnection會在後台發送請求,通過設置委託參數,有數據時會收到通知。由一些委託方法來處理連接是過程中的不同事件。
當服務主機有響應將要開始發送數據時,didReceiveResponse:方法會被調用。這里可以做一些初始化的工作,比如有一個NSMutableData類型的data對象來存儲數據,在這里可以把對象長度設為0,如下所示
-(void) connection:(NSURLConnection *)connection didReceiveRespose:(NSURLResonse *)response
{
[data setLength:0];
}
當接收到數據時,didReceiveData:方法會被調用。這里可以把數據加到NSMutableData對象的後面,如下:
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)incomingData
{
[data appendData:incomingData];
}

當數據載入完成時會調用connecitionDidFinshLoading:方法,處理傳入的數據。這里以字元串處理為例,示例應用中傳入的可能是圖片或其他任何類型的對象。

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(string);
[data release];
}

連接或傳送數據失敗時,didFailWithError方法會被調用,如下:
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
NSLog(@"query failed with error:%@", [error localizedDescription]);
[data release];
}

4. VB與FTP編程

建議樓主用winsock連接FTP伺服器,發送FTP命令來實現交互,另外說明下,目錄的獲取與文件的傳輸是另開埠進行的,以下是命令表
ftp協議命令字(轉)

命令 描述
ABOR 中斷數據連接程序
ACCT <account> 系統特權帳號
ALLO <bytes> 為伺服器上的文件存儲器分配位元組
APPE <filename> 添加文件到伺服器同名文件
CDUP <dir path> 改變伺服器上的父目錄
CWD <dir path> 改變伺服器上的工作目錄
DELE <filename> 刪除伺服器上的指定文件
HELP <command> 返回指定命令信息
LIST <name> 如果是文件名列出文件信息,如果是目錄則列出文件列表
MODE <mode> 傳輸模式(S=流模式,B=塊模式,C=壓縮模式)
MKD <directory> 在伺服器上建立指定目錄
NLST <directory> 列出指定目錄內容
NOOP 無動作,除了來自伺服器上的承認
PASS <password> 系統登錄密碼
PASV 請求伺服器等待數據連接
PORT <address> IP 地址和兩位元組的埠 ID
PWD 顯示當前工作目錄
QUIT 從 FTP 伺服器上退出登錄
REIN 重新初始化登錄狀態連接
REST <offset> 由特定偏移量重啟文件傳遞
RETR <filename> 從伺服器上找回(復制)文件
RMD <directory> 在伺服器上刪除指定目錄
RNFR <old path> 對舊路徑重命名
RNTO <new path> 對新路徑重命名
SITE <params> 由伺服器提供的站點特殊參數
SMNT <pathname> 掛載指定文件結構
STAT <directory> 在當前程序或目錄上返回信息
STOR <filename> 儲存(復制)文件到伺服器上
STOU <filename> 儲存文件到伺服器名稱上
STRU <type> 數據結構(F=文件,R=記錄,P=頁面)
SYST 返回伺服器使用的操作系統
TYPE <data type> 數據類型(A=ASCII,E=EBCDIC,I=binary)
USER <username>> 系統登錄的用戶名

標准 FTP 信息如下:

響應代碼 解釋說明
110 新文件指示器上的重啟標記
120 伺服器准備就緒的時間(分鍾數)
125 打開數據連接,開始傳輸
150 打開連接
200 成功
202 命令沒有執行
211 系統狀態回復
212 目錄狀態回復
213 文件狀態回復
214 幫助信息回復
215 系統類型回復
220 服務就緒
221 退出網路
225 打開數據連接
226 結束數據連接
227 進入被動模式(IP 地址、ID 埠)
230 登錄網際網路
250 文件行為完成
257 路徑名建立
331 要求密碼
332 要求帳號
350 文件行為暫停
421 服務關閉
425 無法打開數據連接
426 結束連接
450 文件不可用
451 遇到本地錯誤
452 磁碟空間不足
500 無效命令
501 錯誤參數
502 命令沒有執行
503 錯誤指令序列
504 無效命令參數
530 未登錄網路
532 存儲文件需要帳號
550 文件不可用
551 不知道的頁類型
552 超過存儲分配
553 文件名不允許

5. ftp伺服器編寫的過程,使用c++,最好有具體過程,命令交互什麼的

1、c++基礎一定得好。
2、學習網路編程,主要是TCP方面
3、詳細研究下FTP協議。

6. FTP編程前景如何


在海量的小文件傳輸的時候,20埠的控制命令傳輸佔用的時間和UI的時間已經可以同文件真正的傳輸時間相比擬了,所以性能提高很麻煩,偏偏Basic在性能上不佔優勢。

此外如果是VB6的控制項,由於VB的市場同VC JAVA和Delphi相比暫時還是處於劣勢,一些C寫的GNU FTP lib已經有不小的空間了。所以。。。

7. FTP api編程

建議樓主看下MSDN,樓主既然會用ASM,應該看得懂
HINTERNET InternetConnect(
__in HINTERNET hInternet,
__in LPCTSTR lpszServerName,
__in INTERNET_PORT nServerPort,
__in LPCTSTR lpszUsername,
__in LPCTSTR lpszPassword,
__in DWORD dwService,
__in DWORD dwFlags,
__in DWORD_PTR dwContext
);

8. ftp如何使用

ftp
是文件傳輸協議 你要利用協議編程]?

還是用工具

....................

可以使用ftp下載的。
這要看提供者採用什麼方式了
比如有這樣 http://123.45.6.7/a.rar
也有這樣 ftp://123.45.6.7/a.rar

多數網上下載的 都用第一種 管理簡單 用戶管理是用網頁實現的
用第二中的 可以在登陸時進行用戶管理 是登陸伺服器實現的 典型管理ftp伺服器的軟體是server u 可以像文件夾一樣的管理下載

9. FTP協議編程的一般步驟

你問的問題有深度
你去http://bbs.chinaitlab.com/
網上去找一下吧,裡面很多高手的

10. 【編程】編程作業(關於ftp網路)

是建立一個盤符,然後把你網盤內的文件映射到那個盤內么?還要用FTP的API實現?

熱點內容
2021款es升級了哪些配置 發布:2024-03-28 21:26:44 瀏覽:384
下述調度演算法 發布:2024-03-28 21:22:24 瀏覽:616
捷達哪個配置裝有esp 發布:2024-03-28 21:17:41 瀏覽:196
天氣源碼 發布:2024-03-28 21:14:11 瀏覽:428
使命召喚紅魔浪潮如何配置 發布:2024-03-28 21:13:08 瀏覽:546
nginx安裝php 發布:2024-03-28 21:09:47 瀏覽:667
利用python進行數據分析pdf 發布:2024-03-28 20:33:36 瀏覽:560
php模擬post提交 發布:2024-03-28 20:23:14 瀏覽:542
phptxt下載 發布:2024-03-28 20:12:37 瀏覽:476
如何更衣櫃密碼鎖密碼設置 發布:2024-03-28 19:42:09 瀏覽:484