• Poco之ftp获取文件列表以及下载文件


    #include <iostream>
    #include <string>
    #include <vector>
    #include <algorithm>
    #include <Poco/File.h>
    #include <Poco/Net/FTPClientSession.h>
    #include <Poco/StreamCopier.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <fstream>
    using Poco::File;
    using Poco::StreamCopier;
    using Poco::Net::FTPClientSession;
    int main(int argc,char **argv)
    {
        std::string host="192.168.7.155";
        std::string username="anonymous";
        std::string password="anonymous";
        Poco::UInt16 port=21;

        FTPClientSession ftpsession(host,port,"","");
        ftpsession.login(username,password);

        bool logined=ftpsession.isLoggedIn();
        std::cout<<"ftp is logined ? "<<logined<<std::endl;

        ftpsession.setWorkingDirectory("/SobeyRes/aaa/");

        //get file list
        std::string str;
        std::vector<std::string> filelist;
        std::istream &ftpin = ftpsession.beginList("/SobeyRes/aaa/");//下载目录中文件列表
        while(ftpin>>str)
        {//存储文件列表
            filelist.push_back(str);
        }
        ftpsession.endList();//关闭目录下载连接

        //download all file to local device
        for(size_t i=0; i!=filelist.size(); i++)
        {
            std::cout<<"cur file is: "<<filelist[i]<<"... ";

            std::ofstream file;
            file.open(filelist[i].c_str());
            //下载每个文件并存储到字符串content中
            Poco::StreamCopier::copyStream(ftpsession.beginDownload(filelist[i].c_str()), file);

            ftpsession.endDownload();//关闭下载连接
        }
        ftpsession.close();//断开FTP

        return 0;
    }

    生活的残酷,让我们习惯了忘记疲倦,一直奔向远方,追寻着自己的梦想。
  • 相关阅读:
    使用RF(robotframework)要安装哪些库
    MYSQL题目练习专用
    MySQL字段拼接
    WPF样式
    WPF数据模板
    WPF控件模板
    WPF布局
    面向对象程序设计原则
    设计模式之策略模式
    设计模式之简单工厂模式
  • 原文地址:https://www.cnblogs.com/L-Arikes/p/4969813.html
Copyright © 2020-2023  润新知