cURL超时问题

时间:2013-01-25 11:25:48

标签: c++ curl libcurl

我使用libcurl从客户端下载一些文件到服务器。我在curl连接中设置了以下选项,

curl_easy_setopt(curlPtr, CURLOPT_LOW_SPEED_LIMIT, 1);
curl_easy_setopt(curlPtr, CURLOPT_LOW_SPEED_TIME, 360);
curl_easy_setopt(curlPtr, CURLOPT_IGNORE_CONTENT_LENGTH, 1);
curl_easy_setopt(curlPtr, CURLOPT_TCP_NODELAY, 1);

即使我在6分钟(360秒)内没有收到任何字节时设置为超时,即使我收到回复,操作也会超时,

这是我从中收到的cURL调试响应,

  • 操作在360000毫秒后收到205512字节后超时
  • 关闭连接#0
  • 已达到超时

我已将响应重定向到文件,我可以确认响应字节。但是,在达到6分钟之后,操作仍然会超时。

任何人都可以帮助我,上面有什么我错的吗?

注意我使用的是libcurl 7.19.3。我无法立即升级,但我们计划升级到最新的稳定版本。

感谢, Prabu

1 个答案:

答案 0 :(得分:0)

您发布的 4行中没有任何错误。

默认情况下,CURLOPT_TIMEOUT和CURLOPT_TIMEOUT_MS值为0。 但是,如果您使用特定的curl实现,请尝试在代码中将这些选项传递给0。

如果它没有改变任何东西,那是因为它在Web服务器上超时。因此,如果您无法控制此服务器,则无法执行任何操作。您必须使用循环创建程序以重新启动连接。