我正在使用带有CURLOPT_WRITEFUNCTION的libcurl下载特定文件。
我使用CURLOPT_BUFFERSIZE要求一定的缓冲区大小。
第一次调用回调函数时,我得到了那么多字节,实际上下载了更多数据。
例如,如果我要1024字节的数据,当我第一次获得该数据时,该进程已经消耗了100K数据(基于进程浏览器和类似工具。我可以在wirehark中看到连续的数据流和ACK。 ),因此我认为它是预先下载并缓冲数据。
我要在这里实现的目的是能够基于前几个数据块取消检索,而无需下载不必要的任何内容。
有没有一种方法可以防止这种缓冲并且仅在我完成对当前数据的处理后才下载下一个数据块(或者至少不缓冲数十和数百千字节)?
我希望该解决方案与服务器无关,因此CURLOPT_RANGE在此实际上不起作用。