curl获取ftp服务器文件名称,使用libcurl从FTP读取文件

我正在使用libcurl来编写从FTP服务器读取文件的应用程序。阅读了关于这个库的所有信息之后,我才知道我只能从FTP服务器下载文件到本地机器,然后阅读它们。使用libcurl从FTP读取文件

我想知道在libcurl中是否有任何定义,以便我只能从FTP服务器读取文件,因为我的本地设备中存储空间非常有限,无法存储文件。

这是我的做法至今

int establish_connection_to_ftp_server(char *uname_pass, char *url,char *filePath,char *err)

{

CURL *curl = NULL;

CURLcode res = -1;

FILE *ftpfile = NULL;

char error_disp[100] = {0};

ftpfile = fopen(filePath,"wb"); /* b is binary, needed on win32 */

if(ftpfile==NULL)

{

printf("Unable to create file\n");

return -1;

}

show_frame_progress("Establishing Connection to server...");

curl = curl_easy_init();

if(curl)

{

curl_easy_setopt(curl, CURLOPT_USERPWD, uname_pass);

curl_easy_setopt(curl, CURLOPT_URL, url);

curl_easy_setopt(curl, CURLOPT_WRITEDATA, ftpfile);

curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);

curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, progress_func_upload);

curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0);

curl_easy_setopt(curl, CURLOPT_TIMEOUT, 300);

res = curl_easy_perform(curl);

curl_easy_cleanup(curl);

}

fclose(ftpfile); /* close the local file */

if((int)res != 0)

{

sprintf(error_disp,"Unable to connect to server ..\nCurl Error : %d \n%s",res,curl_easy_strerror(res));

strcpy(err,error_disp);

return -1;

}

return (int)res;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值