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" 的方式抛出错误,但我相信他们有他们不这样做的原因。
我有一个异步 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" 的方式抛出错误,但我相信他们有他们不这样做的原因。