當前位置:首頁 » 文件管理 » ftp工具源碼

ftp工具源碼

發布時間: 2022-05-22 17:22:33

① 需要PB的ftp源代碼,網上找了幾個都不好用

在PB中實現FTP傳輸

在用PB進行開發時常常需要用到ftp功能,最典型的應用就是將數據窗口中的數據生成txt文件,然後將此數據文件用ftp發送到遠程伺服器上去。由於pb本身並未提供任何ftp的功能,因此想在pb中進行ftp傳輸,只能應用pb以外的資源。以下是筆者在pb開發中總結出來的幾種方法。

1、使用外部命令
這種方法就是在pb程序中運行Windows中自帶的ftp命令。具體做法是在程序中生成一個.bat文件,將要運行的ftp命令寫到此文件中,再運行這個批處理文件。假設ftp伺服器ip為 202.114.67.2,用戶名為user,口令12345,現在要將本地c:\temp\下的t00001.txt文件上傳到伺服器的\txtdata\目錄下去。則pb代碼如下:

integer li_bat //文件名指針
li_bat = FileOpen(path_ftp+'get_file.bat',
lineMode!, Write!, LockWrite!, Replace!)

FileWrite(li_bat, 'cd c:\temp\')
FileWrite(li_bat, 'ftp 202.114.67.2')
FileWrite(li_bat, 'user)
FileWrite(li_bat, '12345')
FileWrite(li_bat, 'put t00001.txt
\txtdata\t00001.txt')
FileWrite(li_bat, 'bye')
FileWrite(li_bat, 'exit')
FileClose(li_bat)
Run(path_ftp+'get_file.BAT',Minimized!)
messagebox("提示信息","數據上報完畢")

此方法的優點是簡單易行,既不要調用API函數,也不需加入OLE。缺點一是要運行外部命令,將會打開dos窗口,顯得不夠和諧;二是數據傳輸成功與否無法判斷,在編程時不好控制。

2、使用Internet Transfer控制項
Internet Transfer控制項是網路編程中非常常用的控制項。它支持目前Internet上使用最為廣泛的兩種協議,即Http和Ftp。在windows98中它是由系統自帶。有關此控制項的詳細資料請查看相關書籍。這里我們只使用它的Ftp功能。在PB中加入一個與此控制項的OLE,取名ole_1,並按以下數據設置此控制項的屬性(注意不是ole_1的屬性),表中沒有列出的屬性請用預設值:

屬性 值 說明
Protocol 2 指定用Ftp協議
Remotehost 202.114.67.2
Username User1
Password 12345

Internet Transfer控制項支持兩種數據傳輸方式,即同步傳輸方式和非同步傳輸方式。同步傳輸方式在數據傳輸時會阻塞程序,此功能是通過調用該控制項的OpenUrl方法來實現的;而非同步方式則不會阻塞程序,它通過調用控制項的Execute方法來實現。同步方式雖然易於控制,但它只能下載文件,不能上傳文件,這使得它在實際的應用受到限制。要實現數據的上傳下載,只能使用此控制項的非同步傳輸方式。要完成上例中的功能,在PB程序中加入以下語句即可:

Ole_1.object.execute("","put c:
\temp\t00001.txt \txtdata\t00001.txt")

同理,如果要將伺服器上的文件下載到本地,在程序中加入即下語句:

Ole_1. object.execute("","get \txtdata\t00001.txt c:\temp\t00001.txt")

Internet Transfer控制項的功能很強大,利用它足以製作一個功能比較完善的FTP工具,而且它是操作系統自帶的,在編程時不需要注冊新的控制項。但根據筆者的使用經驗,此控制項也有兩個不能忽視的缺點,其一、它的數據上傳下載是非同步傳輸的,在每次只運行一個ftp命令時尚可,如果一次運行多個ftp命令就會出錯。比如說,我們想先進入伺服器的\file目錄,再上傳數據,這樣程序應如下:

Ole_1.object.execute("","cd \file\")
Ole_1.object.execute("","put
c:\temp\t00001.txt \txtdata\t00001.txt")
由於execute方法是非同步執行的,它不等第一個語句完成就開始執行第二條語句,這樣可能伺服器還來不及將當前目錄轉到\file下數據已經開始上傳,造成錯誤。

其二、筆者還發現一個莫名其妙的問題,那就是利用此控制項進行上傳時它會將上傳到伺服器上的文件的文件名改為大寫,如上例中,本地的t00001.txt上傳到伺服器上後,它的名字會變成T00001.TXT,這在NT上自然無妨,但在Unix機器上就可能帶來錯誤。

3、使用Mabry Internet FTP/X Control
此控制項是由Mabry Software公司提供的一個用於Ftp的控制項,讀者可以到www.mabry.com上去下載此控制項(mftpx.ocx)。經比較,筆者認為在進行ftp傳輸方面,使用此控制項進行編程最方便。它能完成絕大部分Ftp的功能,而且在編程中能很方便地控製程序的運行。比如說要完成前述功能,我們先注冊該控制項,然後在PB程序中加入一個該控制項的Ole,取名Ole_1;一個單行編輯器Sle_1,用為顯示有關信息;一個按鈕Cb_1,點擊它時進行Ftp操作。另設一個boolean 型Instance Variables,取名is_con,並將它設為false,用於指示網路是否已連通。對該控制項的屬性進行如下設置:

屬性 值 說明
Host 202.114.67.2
Logonname User
Logonpassword 12345
Timeout 10 根據實際情況設置

在Cb_1的clicked事件中加入以下代碼:

sle_1.text = "正在連接....."
setpointer(hourglass!)
ole_1.object.connect()

if is_con then
sle_1.text = "開始傳輸...."
ole_1.object.putfile
("c:\temp\t00001.txt","/txtdata/t00001.txt")
sle_1.text = "傳輸完畢!"
end if

setpointer(arrow!)
is_con = false
在Ole_1的各事件中加入相應代碼:
connected事件:
if fconnected then
sle_1.text = "連接成功!"
is_con = true
else
sle_1.text = "連接失敗!"
is_con = false
end if
externalexception事件:
sle_1.text = "外部錯誤,可能網路不通"

action = ExceptionIgnore!
progress事件:
sle_1.text = "已傳輸"
+ string(bytestransfered)+"位元組....."

② 求易語言FTP文件上傳的源碼

首先記住一點 連接FTP伺服器() 自己看參數

FTP文件上傳() 三個參數 欲上傳的本地文件 就是 文件名咯 這里是具體路徑 取運行目錄()+「123.txt」 FTP文件路徑: 自己的網址+wwwroot450672 這樣就OK了


問題解決請採納 有問題 請追問

題外話:樓主你用的哪個空間?

③ 什麼是FTP源碼

一個網站由三部份組成:
一、域名。
二、空間
三、源碼。
空間是用來放源碼的,FTP能管理空間里的源碼。
這方面的問題,可以網路HI聯系交流。

④ 怎樣用FTP軟體下載網頁源碼

你要知道網咋和你地址的FTP地址
帳戶和密碼
登陸後把右邊的網頁文件WWW拖到左邊即可

⑤ 進入FTP以後,怎麼知道網頁的源碼文件在哪裡呢怎麼打開源碼修改關鍵詞

一般進入ftp後看看是不是有個www的文件夾,裡面就有文件了。打開源碼修改關鍵字可以用Dreamweaver 軟體修改網了再上傳,不過一般修改關鍵字只需要在網站管理後台就可以修改的

⑥ FTP碼是不是就是源代碼

FTP是一種文件上傳下載的傳輸方式,但是它需要一種特殊的傳輸工具軟體,這軟體當然是有源代碼的,因為軟體也是利用編程方法用代碼寫成的。簡單來說,FTP是傳輸方式,但它需要用一種工具軟體來實現它的傳輸。FTP軟體有很多,功能大同小異。

⑦ 諸位大神誰有java 實現FTP客戶端的源碼

您好,/ **
*創建日期:2008年12月23日

*類名:Ftp.java

*類路徑:組織結構

*更改日誌:

* / 包組織結構;

進口的java.io.File;

進口java.io.FileInputStream中;

進口java.io.FileOutputStream中;

進口的java。 io.IOException;

進口sun.net.TelnetInputStream;

進口sun.net.TelnetOutputStream;

進口sun.net.ftp.FtpClient;

> / **

* @作者南山地獄

* @說明FTP操作

* /

公共類的Ftp {

/ **

* BR />獲取FTP目錄* / 公共無效getftpList(){

字元串伺服器=「IP地址 /輸入FTP伺服器/>弦樂用戶=」「;/ / FTP伺服器的登錄用戶名

字元串密碼=「」;/ /登錄FTP伺服器的用戶名

字元串路徑密碼=「」;/ / FTP路徑上的伺服器

嘗試{
> FtpClient的FTP客戶端=新FtpClient的();/ /創建FtpClient的對象

ftpClient.openServer(伺服器);/ /連接到FTP伺服器

ftpClient.login(用戶名,密碼);/ / FTP伺服器 BR />如果(path.length()= 0){

ftpClient.cd(路徑);

}

TelnetInputStream是= ftpClient.list();

詮釋三;

而{

System.out.print((char)的C)((C = is.read())= -1!);

}

掉} is.close ();

ftpClient.closeServer();/ /退出FTP伺服器

}趕上(IOException異常前){

System.out.println(ex.getMessage());

}

}

/ **

*
* /

公共無效getFtpFile(){

字元串伺服器=「」;/ / IP地址中輸入FTP伺服器

弦樂用戶=「」;/ / FTP伺服器的登錄用戶名

字元串密碼=「」;/ /登錄密碼為FTP伺服器的用戶名

字元串路徑=「路徑

字元串文件名「;/ /上=的FTP伺服器」「;/ /下載文件名稱

嘗試{

FtpClient的FTP客戶端=新FtpClient的();

ftpClient.openServer(伺服器);

ftpClient.login(用戶名,密碼);

如果(路徑。長度()= 0)

ftpClient.cd(路徑);!

ftpClient.binary();

TelnetInputStream是= ftpClient.get(文件名);

文件file_out =新的文件(文件名);

文件輸出流OS =新的文件輸出流(file_out);

位元組[]位元組=新位元組[1024];

詮釋三;

而((C = is.read(位元組))= -1){

os.write (位元組,0,C);

}!

掉} is.close();

os.close();

ftpClient.closeServer();

}趕上(IOException異常前){

System.out.println (ex.getMessage());

}

FTP}

/ **

*文件上傳到FTP

* /

公共無效putFtpFile() {

字元串伺服器=「」;/ /輸入IP地址對伺服器

字元串用戶的地址=「」;/ / FTP伺服器的登錄用戶名

字元串密碼=「」;/ / FTP伺服器登錄用戶名密碼

字元串路徑=「」就 / FTP伺服器/>字元串文件名=「」;/ /上傳的文件名

FtpClient的FTP客戶端=新的try { FtpClient的();

ftpClient.openServer(伺服器);

ftpClient.login(用戶名,密碼);

如果(!path.length()= 0)

ftpClient.cd (路徑);

ftpClient.binary();

TelnetOutputStream OS = ftpClient.put(文件名);

文件file_in =新的文件(文件名);

文件輸入流是=新的文件輸入流(file_in);

位元組[]位元組=新位元組[1024];

詮釋三;

同時(! (C = is.read(位元組))= -1){

操作系統。寫(位元組,0,C);

}

掉} is.close();

os.close();

ftpClient.closeServer();

}趕上(IOException異常前){

System.out.println(ex.getMessage());

}

}
}

⑧ 如何把ftp上的源代碼下載下來

這個簡單,在網站根目錄上一級建個文件夾,把選擇網站根目錄後點復制,然後粘貼到新建的文件夾裡面,把文件在裡面壓縮一下,壓縮好後,點擊壓縮文件就會下載了。

下面wwwroot就是下載的壓縮好的源碼

linux下ftp客戶端源碼

sudo apt-get source $packagename
$packagename 換成ftp客戶端名字,如lftp,我猜lftp是最簡單的。
其他常見的有
kftpgrabber
KDE下ftp客戶端,支持編碼選擇。對中文支持較好
gftp
gnome下ftp客戶端,目前對中文支持尚不太好,受抱怨頗多。
fireftp
firefox的ftp客戶端插件,新版對中文支持較好。
FileZilla
對中文支持較好
CrossFTP
基於Java的穩定ftp客戶端和同步工具。優良的中文/Unicode支持。

⑩ linux的ftp源代碼在什麼地方存放

通過終端使用ftp命令下載文件的話,沒指定保存的路徑的話,在哪個路徑執行的ftp命令下載的東西就保存在那個位置。用其他ftp客戶端的話,通常默認下載地址是在你的用戶的家目錄下。

熱點內容
i西安編程 發布:2024-04-25 16:55:35 瀏覽:262
核磁看壓縮 發布:2024-04-25 16:37:22 瀏覽:431
訪問不上光貓 發布:2024-04-25 16:13:44 瀏覽:319
部隊電腦配置有哪些 發布:2024-04-25 16:13:43 瀏覽:970
霍曼密碼鎖什麼價位 發布:2024-04-25 16:08:01 瀏覽:750
ftp雙機熱備 發布:2024-04-25 16:03:48 瀏覽:360
我的世界伺服器限制模組 發布:2024-04-25 15:55:32 瀏覽:888
平板電腦能連接雲伺服器嗎 發布:2024-04-25 15:54:05 瀏覽:937
多看怎麼上傳雲 發布:2024-04-25 15:45:31 瀏覽:39
山東ftp 發布:2024-04-25 15:44:46 瀏覽:261