cURL大小限制

Shi*_*ant 5 php curl

我想知道是否有办法通过cURL只获取特定数量的数据?

选项1:
curl_setopt ($curl_handle, CURLOPT_HTTPHEADER, array("Range: bytes=0-1000")); 但并非所有服务器都支持它

选项2:
无法限制PHP的cURL函数的下载大小,但是这个函数给了我错误Failed writing body (0 != 11350)和阅读,我发现许多人说它是一个错误.

所以按照上面的说法write_function我试着curl_close($handle)代替returning 0但是这会引发错误Attempt to close cURL handle from a callback

现在,我能想到的唯一方法是解析内容长度的but this will eventually result in 2 requests ??标题首先获取标题CURLOPT_NOBODY然后获取完整内容?

Jon*_*Jon 0

选项 2:在限制 PHP 的 cURL 函数的下载大小时遇到​​问题,但该函数给我错误 Failedwriting body (0 != 11350) and Reading ,我发现很多人说这是一个错误。

目前尚不清楚你到底在那里做什么。如果您返回 0,那么 cURL 会发出错误信号,当然,但您将读取所需的所有数据。只需忽略该错误即可。

如果您尝试过,您没有提及的另一个选项是fopenhttp://包装器一起使用。例如:

$h = fopen('http://example.com/file.php', 'r');
$first1000Bytes = fread($h, 1000);
fclose($h);
Run Code Online (Sandbox Code Playgroud)