防止libcurl发送FTP LIST命令

时间:2013-03-24 22:51:17

标签: libcurl

当连接到服务器并发送特定的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会话代码的一部分(我在这里重用一个curl句柄,之前将远程目录更改为fileName所在的位置,并获取其他用途的目录列表):

    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);

1 个答案:

答案 0 :(得分:1)

我下载了libcurl源代码并找到答案。指定CURLOPT_NOBODY选项会阻止它发送FTP LIST命令。

curl_easy_setopt(curlSession, CURLOPT_NOBODY, 1);