/*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