2016-11-13 21 views
-4

ftpサーバのすべてのファイルとフォルダのリストが必要です。ftpサーバのすべてのファイルとフォルダのリストを取得する方法(C++)

現在のディレクトリだけでなく、サーバー全体の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); 
    } 
} 
+0

現在のC++コードはどのようにftpサーバーに接続していますか? –

+0

['boost :: asio'](http://www.boost.org/doc/libs/1_45_0/doc/html/boost_asio/overview/core/line_based.html)をチェックしましたか? –

+2

おそらくFTPクライアントライブラリが必要です。 [libcurl](https://curl.haxx.se/libcurl/)を使用してください。 –

答えて

3

FTPサービスコマンドの完全なリストは、RFC 959にページ29から始まります。

「サーバーの全コンテンツを一覧表示」コマンドはありません。アクセス許可/制御(rfcテキストによる検索「アクセス制御」)に関連する制限のためにそうである可能性が非常に高い。

関連する問題