【问题标题】:FTP upload with libcurl: getting CURLINFO_DATA_IN, timing out使用 libcurl 进行 FTP 上传:获取 CURLINFO_DATA_IN,超时
【发布时间】:2012-01-23 18:40:31
【问题描述】:

我正在使用 libcurl 上传到 FTP 服务器。通常情况下一切正常,但我总是收到特定服务器的超时错误(超时设置为一分钟)。文件本身的上传确实发生了。

我使用 curl_easy_setopt 和 CURLOPT_DEBUGFUNCTION 来设置调试功能以查看发生了什么。上传开始后,我看到许多调用的 curl_infotype 设置为 CURLINFO_DATA_OUT,但我还看到几个调用 curl_infotype 设置为 CURLINFO_DATA_IN。然后,一旦上传完成但服务器仍然连接,我不断将 curl_infotype 设置为 CURLINFO_DATA_IN 直到达到超时。

一些问题: - 为什么我会得到这个 CURLINFO_DATA_IN?
- 我应该如何回应?

[编辑 - 我忘了提到 FileZilla 可以正确上传到该服务器]

【问题讨论】:

    标签: c++ libcurl


    【解决方案1】:

    调试回调为您提供了正在发送和接收的实际数据,您是否查看过该数据以了解它是什么?传输完成后,FTP 服务器会向客户端发送回复,因此这可能是您看到的CURLINFO_DATA_IN 通知的原因。可能服务器正在发回 libcurl 无法正确识别的回复,因此它一直在等待更多永远不会到达的数据。如果不看实际的来回交流到底是什么样子,就很难确定。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 2017-03-07
      • 2011-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多