linux ftp服务源代码,linux下最简单的ftpget ftpput 源代码

/*FtpGetRun*/

#include

#include

#include

#include

#include

#include

#include

#include

#include

/*FtpGetRun Variable*/

FILE *pFtpIOFile = NULL;

FILE *pFileCmdChmod; //使用popen方式修改文件属性为可执行的文件指针

FILE *pRunGetFile; //使用popen方式执行文件的文件指针

char aFtpBuffer[4096];

/*Http Variable*/

FILE *pFileCmdChmod;

FILE *pRunGetFile;

char aRequestHead[1000];

char aResponseHead[1000];

static int iSockHttpMark=-1;

int iGetRunMark;//用来标记是get模式,还是getrun模式1为get模式,2为getrun模式

char acChmodCmd[50];//用来使用chmode命令行

char acRunCmdLine[50];//用来运行程序

int FtpCmd(int iSockFtpCmd,char *cFmt,...)

{

va_list vVaStartUse;

int iFtpCmdReturn;

int iFtpLength;

if (pFtpIOFile == NULL)

{

pFtpIOFile = fdopen(iSockFtpCmd,"r");

if (pFtpIOFile == NULL)

{

printf("The ERROR of pointer of pFtpIOFile");

return -1;

}

}

if (cFmt)

{

va_start(vVaStartUse,cFmt);

iFtpLength = vsprintf(aFtpBuffer,cFmt,vVaStartUse);

aFtpBuffer[iFtpLength++] = '\r';

aFtpBuffer[iFtpLength++]='\n';

write(iSockFtpCmd,aFtpBuffer,iFtpLength); //如同send

}

do

{

if (fgets(aFtpBuffer,sizeof(aFtpBuffer),pFtpIOFile) == NULL)

{

return -1;

}

} while(aFtpBuffer[3] == '-');

sscanf(aFtpBuffer,"%d",&iFtpCmdReturn);

return iFtpCmdReturn;

}

int FtpGet(char *host,char *user,char *pass,char *filename,ch

你可能感兴趣的:(linux,ftp服务源代码)