当连接到服务器并发送特定的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);
答案 0 :(得分:1)
我下载了libcurl源代码并找到答案。指定CURLOPT_NOBODY选项会阻止它发送FTP LIST命令。
curl_easy_setopt(curlSession, CURLOPT_NOBODY, 1);