1、C語言實現從FTP下載、上傳文件
1.C語言可以使用CStdioFile函數打開本地文件。使用類CInternetSession 創建並初始化一個Internet打開FTP伺服器文件。
CStdioFile繼承自CFile,一個CStdioFile 對象代表一個用運行時函數fopen 打開的C 運行時流式文件。
流式文件是被緩沖的,而且可以以文本方式(預設)或二進制方式打開。文本方式提供對硬回車—換行符對的特殊處理。當你將一個換行符(0x0A)寫入一個文本方式的CStdioFile 對象時,位元組對(0x0D,0x0A)被發送給該文件。當你讀一個文件時,位元組對(0x0D,0x0A)被翻譯為一個位元組(0x0A)。
CStdioFile 不支持Duplicate,LockRange,和UnlockRange 這幾個CFile 函數。如果在CStdioFile 中調用了這幾個函數,將會出現CNoSupported 異常。
使用類CInternetSession 創建並初始化一個或多個同時的Internet 會話。如果需要,還可描述與代理伺服器的連接。
如果Internet連接必須在應用過程中保持著,可創建一個類CWinApp的CInternetSession成員。一旦已建立起Internet 會話,就可調用OpenURL。CInternetSession會通過調用全局函數AfxParseURL來為分析映射URL。無論協議類型如何,CInternetSession 解釋URL並管理它。它可處理由URL資源「file://」標志的本地文件的請求。如果傳給它的名字是本地文件,OpenURL 將返回一個指向CStdioFile對象的指針。
如果使用OpenURL在Internet伺服器上打開一個URL,你可從此處讀取信息。如果要執行定位在伺服器上的指定的服務(例如,HTTP,FTP或Gopher)行為,必須與此伺服器建立適當的連接。
2.常式:
2、linux下c語言編程實現ftp下載,匿名登錄FTP伺服器時,輸入USER anonymous,返回331...
正確的格式是這樣的:
USER 用戶名如果匿名登錄,那麼就應該是
USER Anonymous如果不行,應該是FTP伺服器不支持匿名登錄。
3、怎樣用c或c++語言編寫ftp程序 客戶端和伺服器端的源代碼
這個問題太大了點,你可以去starforge等開源網站上去找這方面的工程。。。
4、Java實現ftp伺服器源代碼
/**
* 創建日期:Dec 23, 2008
* 類名:Ftp.java
* 類路徑:org
* 修改日誌:
*/
package org;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import sun.net.TelnetInputStream;
import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;
/**
* @author 南山一根蔥
* @Description ftp操作
*/
public class Ftp {
/**
* 獲取Ftp目錄下的列表
*/
public void getftpList() {
String server = "";// 輸入的FTP伺服器的IP地址
String user = "";// 登錄FTP伺服器的用戶名
String password = "";// 登錄FTP伺服器的用戶名的口令
String path = "";// FTP伺服器上的路徑
try {
FtpClient ftpClient = new FtpClient();// 創建FtpClient對象
ftpClient.openServer(server);// 連接FTP伺服器
ftpClient.login(user, password);// 登錄FTP伺服器
if (path.length() != 0) {
ftpClient.cd(path);
}
TelnetInputStream is = ftpClient.list();
int c;
while ((c = is.read()) != -1) {
System.out.print((char) c);
}
is.close();
ftpClient.closeServer();// 退出FTP伺服器
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
}
/**
* 下載FTP上的文件
*/
public void getFtpFile() {
String server = "";// 輸入的FTP伺服器的IP地址
String user = "";// 登錄FTP伺服器的用戶名
String password = "";// 登錄FTP伺服器的用戶名的口令
String path = "";// FTP伺服器上的路徑
String filename = "";// 下載的文件名
try {
FtpClient ftpClient = new FtpClient();
ftpClient.openServer(server);
ftpClient.login(user, password);
if (path.length() != 0)
ftpClient.cd(path);
ftpClient.binary();
TelnetInputStream is = ftpClient.get(filename);
File file_out = new File(filename);
FileOutputStream os = new FileOutputStream(file_out);
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
is.close();
os.close();
ftpClient.closeServer();
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
}
/**
* 上傳文件到FTP
*/
public void putFtpFile() {
String server = "";// 輸入的FTP伺服器的IP地址
String user = "";// 登錄FTP伺服器的用戶名
String password = "";// 登錄FTP伺服器的用戶名的口令
String path = "";// FTP伺服器上的路徑
String filename = "";// 上傳的文件名
try {
FtpClient ftpClient = new FtpClient();
ftpClient.openServer(server);
ftpClient.login(user, password);
if (path.length() != 0)
ftpClient.cd(path);
ftpClient.binary();
TelnetOutputStream os = ftpClient.put(filename);
File file_in = new File(filename);
FileInputStream is = new FileInputStream(file_in);
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
is.close();
os.close();
ftpClient.closeServer();
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
}
}
5、求大神給份MFC寫的FTP伺服器和客戶端源碼學習下,萬分感謝!
ActiveX控制項用於Web的過程是將控制項嵌入主頁中,用戶通過瀏覽器訪問該主頁時,將主頁中的控制項下載,並在用戶機器上注冊,以後就可在用戶的瀏覽器上運行。
控制項下載一次後就駐留在用戶本地機器上,下次再訪問相同的主頁時,可不再下載該控制項,而是直接運行用戶本地的控制項。這里控制項容器就是瀏覽器,用戶不需要通過瀏覽器調用控制項的屬性或方法。
因此,開發面向Web的ActiveX控制項比開發桌面的控制項還要簡單些,所復雜的是如何將該控制項很好地嵌入主頁,使用戶能正常瀏覽。
6、哪兒有linux下的ftp server的c程序源碼?
ftp server ? 可以到sourceforge或者github開源軟體倉庫上去查找下載。流行的開源軟體也可以,比如專ftp filezilla server就是比較流行的。不過不屬一定是c代碼了,也許是c++的。
7、求易語言繞過cfTP安全的源碼
用 vmp保護模塊
VMP保護開始()
欲保護的程序
VMP保護結束()
這個是模塊 送上
8、能否給一個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());
}
}
}
9、關於C語言FTP伺服器上傳數據實現方法
FTP伺服器是現成的 ? 那你就是要寫客服端咯。 看FTP協議跟socket套接字。