0

サーバーに接続して特定のQUOTEコマンドを送信すると、libcurl(7.29.0)は、これを望まないのにディレクトリリストを要求しているように見えます。これは、MDTMコマンドが送信された後にlibcurlが送信され、次に不要なLISTコマンドが送信されたことを示す応答です。LISTが送信されないようにするにはどうすればよいですか?

* Request has same path as previous transfer
> MDTM fileName
< 213 20130324223404
> EPSV
* Connect data stream passively
< 229 Entering Extended Passive Mode (|||x|)
*   Trying ip...
* Connecting to ip (ip) port x
> LIST
< 150 Here comes the directory listing.

curlセッションコードの一部(以前にリモートディレクトリをfileNameがあった場所に変更したcurlハンドルをここで再利用し、他の目的でディレクトリリストを取得しています):

    headers = NULL;
    headers = curl_slist_append(headers, "MDTM fileName");
    curl_easy_setopt(curlSession, CURLOPT_QUOTE, headers);       
    curl_easy_setopt(curlSession, CURLOPT_WRITEHEADER, &fileModResponse);
    res = curl_easy_perform(curlSession);
4

1 に答える 1

1

libcurlソースをダウンロードして、答えを見つけました。CURLOPT_NOBODYオプションを指定すると、FTPLISTコマンドを送信できなくなります。

curl_easy_setopt(curlSession, CURLOPT_NOBODY, 1);
于 2013-03-25T01:03:30.830 に答える