curl_multi_getcontent 和 CURLOPT_WRITEFUNCTION 可以一起使用吗?

Is it possible to use curl_multi_getcontent and CURLOPT_WRITEFUNCTION together?

我有一个异步 curl 爬虫,它在没有启用 CURLOPT_WRITEFUNCTION 的情况下运行良好。

我试图通过停止任何大小超过 1mb 的下载来限制使用 CURLOPT_WRITEFUCNTION 下载的数据量。

我遇到的问题是 curl_multi_getcontent($done['handle']) 在我使用 CURLOPT_WRITEFUCNTION 时 return 没有任何数据。

我知道我可以使用 CURLOPT_WRITEFUCNTION 函数中的数据,但如果 curl_multi_getcontent($done['handle']) 继续与 CURLOPT_WRITEFUCNTION 一起完成它的工作,事情就会变得容易得多.

可以同时使用curl_multi_getcontent和CURLOPT_WRITEFUNCTION吗?

我自己的问题的答案是:

CURLOPT_RETURNTRANSFER 基本上是内置的 WRITEFUNCTION。

当您指定另一个 WRITEFUNCTION 时,您会覆盖 CURLOPT_RETURNTRANSFER,因此如果您正在尝试这样做,则必须自己返回传输。

我希望 php curl 包会按照 "warning: CURLOPT_WRITEFUNCTION overrides CURLOPT_RETURNTRANSFER" 的方式抛出错误,但我相信他们有他们不这样做的原因。