【问题标题】:How to get list of all files and folders in ftp server (C++)如何获取 ftp 服务器中所有文件和文件夹的列表(C++)
【发布时间】:2017-03-27 03:49:40
【问题描述】:

我需要 ftp 服务器中所有文件和文件夹的列表。

是否有与 NLST 类似的命令用于整个服务器,而不仅仅是当前目录?

我使用 PASV 模式。 这是连接到服务器:

void create_socket(int &sock, const char* server_ip, const unsigned short server_port)
{
  struct sockaddr_in server_addr;

  memset(&server_addr, 0, sizeof(server_addr));// zero out structure
  server_addr.sin_family = AF_INET;// internet address family
  server_addr.sin_addr.s_addr = inet_addr(server_ip);// server IP address
  server_addr.sin_port = htons(server_port);// server port

  if ((sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0)
  {
  }

  if (connect(sock, (struct sockaddr *) &server_addr, sizeof(server_addr)) < 0)
  {
    std::cout << "connect error: " << strerror(errno) << std::endl;
    exit(1);
  }
}

【问题讨论】:

  • 你当前的c++代码是如何连接到ftp服务器的?
  • 你检查boost::asio了吗?
  • 您可能需要一些 FTP 客户端库。使用libcurl

标签: c++ ftp ftp-client


【解决方案1】:

FTP 服务命令的完整列表从RFC 959 的第 29 页开始。

没有“列出服务器的全部内容”命令;很可能是因为与访问权限/控制相关的限制(通过 rfc 文本搜索“访问控制”)。

【讨论】:

    猜你喜欢
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多