3

少し疑問があります。SFTPサーバー上の特定のディレクトリ内のファイルのリストを取得する必要があります。名前だけを取得するためにCUROPT_DIRLISTONLYを使用しますが、取得方法がわかりません。これは私が今持っているコードの平和です:

   string baseUrl(serverAddr + "/" + __destDir);
   curl_easy_setopt(anEasyHandle, CURLOPT_URL, (baseUrl).c_str());
   curl_easy_setopt(anEasyHandle, CURLOPT_VERBOSE,      1L);
   curl_easy_setopt(anEasyHandle, CURLOPT_DIRLISTONLY, 1);
   curl_easy_setopt(anEasyHandle, CURLOPT_QUOTE, commandList);

   curl_easy_perform(anEasyHandle);

   curl_easy_reset(anEasyHandle);

私が正しければ、curl_easy_performはERROR_CODE(適用される場合は成功またはエラー)を返すだけですよね?では、ファイルリストはどこで入手できますか?

ターミナルで実行すると:curl -u user:pass sftp:// server / path/-l必要なリストが表示されます...。

どんな助けでもいただければ幸いです。

よろしくお願いします、ジョージ

4

1 に答える 1

5

次のシグネチャを使用して「コールバック関数」を作成する必要があります。

size_t function( void *ptr, size_t size, size_t nmemb, void *stream);

次に、curl_easy_setoptを呼び出して、コールバック関数を CURLOPT_WRITEFUNCTION として設定します。関数は、リモート サーバーから受信したデータのチャンクごとに呼び出されます。これは、何らかの形式のディレクトリ リストである必要があります。

免責事項:私はこれに関するドキュメントを読んだだけで、試していません。

于 2010-04-06T14:33:00.627 に答える