Как получить список всех файлов и папок на FTP-сервере (C ++)

Мне нужен список всех файлов и папок на 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);
}
}

-4

Решение

Полный список команд службы FTP начинается со страницы 29 в RFC 959.

Нет команды «Просмотреть весь контент сервера»; очень вероятно, что это так из-за ограничений, связанных с правами доступа / контроля (поиск «контроль доступа» по тексту rfc).

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]