WinHttpQueryDataAvailable在下载数据时返回各种结果

时间:2012-10-09 18:57:22

标签: c++ winapi http

我正在尝试从网站下载一个相当大的文件,并且每天都会进行多次下载。我正在使用带有WinHttpQueryDataAvailable(hRequest, &dwSize)WinHttpReadData( hRequest, (LPVOID)pszOutBuffer, dwSize, &dwDownloaded)的循环来连续读取文件的数据,直到它被完全下载,这是在dwSize == 0时确定的。但是,有时我会在下载时收到错误代码该文件,特别是12030和12002(ERROR_WINHTTP_CONNECTION_ERROR和ERROR_WINHTTP_TIMEOUT)。

为代码添加一些弹性的最佳方法是什么?我是否应该尝试重新连接并从我离开的地方继续?如果是这样,如何使用WinHTTP功能实现这一目标?超时已经相当长;超时错误实际上也可能是连接错误吗?

任何建议都将不胜感激!

0 个答案:

没有答案