㈠ 如何用C++實現FTP文件上傳的程序
給你個例子
#include <afxinet.h>
void main()
{
BOOL dRes,pRes;
HINTERNET hInternet;
HINTERNET hConnect;
hInternet = InternetOpen("A3GS Sample", INTERNET_OPEN_TYPE_DIRECT,
NULL, NULL, INTERNET_FLAG_NO_CACHE_WRITE);
if ( NULL == hInternet )
{
printf("InternetOpen Error:%d\n", GetLastError() );
}
hConnect = InternetConnect(hInternet, "127.0.0.1", INTERNET_DEFAULT_FTP_PORT,
"ww123", "12345", INTERNET_SERVICE_FTP,
INTERNET_FLAG_EXISTING_CONNECT || INTERNET_FLAG_PASSIVE,0 );
if ( NULL == hInternet )
{
printf( "InternetConnect Error:%d\n", GetLastError() );
InternetCloseHandle(hInternet);
}
dRes = FtpGetFile(hConnect, "./wwyy/download/test1.txt", "D:\\BT\\test1.txt", FALSE,
FILE_ATTRIBUTE_ARCHIVE, FTP_TRANSFER_TYPE_UNKNOWN, 0);
if ( dRes == 0 )
{
printf( "FtpGetFile Error:\n", GetLastError() );
}else{
printf( "下載文件成功!\n" );
}
pRes = FtpPutFile(hConnect,"D:\\BT\\hhsj.txt","hhsj.txt",FTP_TRANSFER_TYPE_ASCII,0);
if(pRes==0)
{
printf("上傳文件失敗!\n");
}else{
printf("上傳文件成功!\n");
}
InternetCloseHandle(hConnect);
InternetCloseHandle(hInternet);
if(dRes&&pRes) return true;
else return false;
㈡ 用C語言寫一個FTP的客戶端程序,需要了解哪些知識
一、需要的知識點:
1、SOCKET技術,網路編程的基本功能
2、FTP
3、如果需要自己寫,可能需要熟悉各個網路框架
二、編寫FTP所需要掌握的框架
1、wininet
2、libcurl
㈢ C語言連接FTP空間
#include <string.h>
#include <stdio.h>
int main(void)
{
char f[20],n[20],m[20];
FILE *fp;
printf("輸入FTP空間:\n");
scanf("%s",f);
printf("輸入名字:");
scanf("%s",n);
getchar();
printf("輸入密碼:");
scanf("%s",m);
fp= fopen("test.txt","w");
fputs(f,fp);
fprintf("\n"); //每一行一句
fputs(n,fp);
fprintf("\n");
fputs(m,fp);
fclose(fp);
return 0;
}
㈣ 怎麼用cftpconnection類編寫向ftp server上傳文件
為了與FTP Internet伺服器通訊,必須先創建一個CInternetSession實例,然後創建CFtpConnection對象。創建CFtpConnection對象不採用直接方式,而是調用CInternetSession::GetFtpConnertion來創建並返回一個指向它的指針。
CFtpConnection類的成員
構造函數 CFtpConnection 構造一個CFtpConnection對象
操作 SetCurrentDirectory 設置當前FTP目錄
GetCurrentDirectory 獲取此次連接的當前目錄
GetCurrentDirectoryAsURL 獲取作為URL的此次連接的當前目錄
RemoveDirectory 從伺服器移去指定目錄
CreateDirectory 在伺服器上構造一個目錄
Rename 將伺服器上的文件改名
Remove 從伺服器上移去一個文件
PutFile 將一個文件放到伺服器上
GetFile 從連接的伺服器上獲取一個文件
OpenFile 在連接的伺服器上打開一個文件
Close 關閉與伺服器的連接
實例一:上傳文件
CString strAppName = AfxGetAppName();
CInternetSession* pSession = new CInternetSession(strAppName);
CFtpConnection* pConn = pSession->GetFtpConnection("
10.46.1.232","Anonymous","",21);
pConn->SetCurrentDirectory("test");
CString strLocfile,strRemotefile;
strLocfile="C:\\cmd.txt";
strRemotefile="cmd.txt";
pConn->PutFile(strLocfile,strRemotefile,FTP_TRANSFER_TYPE_ASCII);
pConn->Close();
return 0;
實例二:Ftp的打開文件操作函數:OpenFile
㈤ 如何用C++實現FTP文件上傳的程序
給你個例子
#include <afxinet.h>
void main()
{
BOOL dRes,pRes;
HINTERNET hInternet;
HINTERNET hConnect;
hInternet = InternetOpen("A3GS Sample", INTERNET_OPEN_TYPE_DIRECT,
NULL, NULL, INTERNET_FLAG_NO_CACHE_WRITE);
if ( NULL == hInternet )
{
printf("InternetOpen Error:%d\n", GetLastError() );
}
hConnect = InternetConnect(hInternet, "127.0.0.1", INTERNET_DEFAULT_FTP_PORT,
"ww123", "12345", INTERNET_SERVICE_FTP,
INTERNET_FLAG_EXISTING_CONNECT || INTERNET_FLAG_PASSIVE,0 );
if ( NULL == hInternet )
{
printf( "InternetConnect Error:%d\n", GetLastError() );
InternetCloseHandle(hInternet);
}
dRes = FtpGetFile(hConnect, "./wwyy/download/test1.txt", "D:\\BT\\test1.txt", FALSE,
FILE_ATTRIBUTE_ARCHIVE, FTP_TRANSFER_TYPE_UNKNOWN, 0);
if ( dRes == 0 )
{
printf( "FtpGetFile Error:\n", GetLastError() );
}else{
printf( "下載文件成功!\n" );
}
pRes = FtpPutFile(hConnect,"D:\\BT\\hhsj.txt","hhsj.txt",FTP_TRANSFER_TYPE_ASCII,0);
if(pRes==0)
{
printf("上傳文件失敗!\n");
}else{
printf("上傳文件成功!\n");
}
InternetCloseHandle(hConnect);
InternetCloseHandle(hInternet);
if(dRes&&pRes) return true;
else return false;
㈥ C++客戶端怎麼實現目錄文件獲取以及文件的FTP上傳
如果是MFC的話,有CFtpConnection和CInternetSession拿來直接用
如果是標准C++,去找一個人家封裝好的FTP類,以前好像有個叫FTPLibCPP
㈦ Linux/unix環境下C調用FTP如何進行
可以使用管道,下面是我的程序,你可以參考:
#include <stdio.h>
main(int argc, char *argv[]){
FILE *fp;
char str[255];
if (argc!=5){
printf("%s\n%s\n",
"Usage:",
" auto_ftp <ip> <user> <pass> <filename>");
exit();
}
if ((fp=popen("ftp -n","w"))==NULL) {
puts("Run ftp fail !");
exit();
}
//while ((fgets(str,255,fp))!=NULL) puts(str);
fprintf(fp,"open %s\n",argv[1]);
fprintf(fp,"user %s %s\n",argv[2],argv[3]);
fprintf(fp,"prompt\n");
fprintf(fp,"mget *%s\n",argv[4]);
fprintf(fp,"bye\n");
pclose(fp);
}
以上程序編譯為auto_ftp,能夠自動從命令行指定的IP、用戶、密碼下載指定的文件。
補充:
上載、下載都是一樣的,都是通過管道調用ftp工具,C程序只需要發送命令即可,這些命令可以是任何命令,我程序中是GET,你也可以寫PUT。
㈧ 你好,這個你解決了嗎C語言如何用FtpPutFile()函數上傳文件到Ftp伺服器!下載用FtpGetFile()可以!
先後使用InternetOpen和InternetConnect打開連接。使用CreateFile函數打開本地文件。使用FtpOpenFile函數打開遠程文件。分別使用InternetReadFile和ReadFile函數讀取
FTP
或本地文件。分別使用InternetWriteFile和WriteFile函數寫入
FTP
或本地文件。使用CloseHandle函數關閉本地文件句柄。使用InternetCloseHandle函數關閉
FTP
文件句柄。