1
我正在使用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秒),操作被超时就算我收到的响应没有收到字节时间,
这是我从该接收到的卷曲调试响应,
- 操作超时后360000毫秒205512个字节接收
- 截止连接#0
- 超时达到
我已经重定向到文件的响应,我可以确认的响应字节。但是,操作在达到6分钟后仍然会超时。
任何人都可以帮助我在上面有什么我错了吗?
注意我正在使用libcurl 7.19.3。我不能立即升级,但我们有计划升级到最新的稳定版本。
感谢, Prabu
服务器可能会为您计时并关闭连接(您可以在客户端上做些什么来阻止连接)。如果没有数据流向服务器,服务器会断开连接(攻击者可能会启动DOS攻击,并最终使用所有可用连接最终打开许多与服务器的连接),这将是一个安全漏洞。 –
你会得到任何HTTP代码> –
PS:传递给curl_easy_setopt的大多数(整数)值应该是long。你正在传递整数。这可能是未来的一个问题。使用'curl_easy_setopt(curlPtr,CURLOPT_LOW_SPEED_TIME,360L);' –