卷曲超时和连接超时的最佳值

Imr*_*hsh 3 php curl

大家问候

我正在使用一个小型爬行引擎,并使用curl从各种网站请求页面.问题是我应该建议我的connection_timeout和超时值是什么?我通常会爬行的东西是有很多图像和文字的页面.

rik*_*rik 10

cURL知道两种不同的超时.
因为CURLOPT_CONNECTTIMEOUT网站包含多少文本或者它引用的图像有多少其他资源并不重要,因为这是连接超时,甚至服务器在建立连接之前也无法知道所请求页面的大小.
因为CURLOPT_TIMEOUT它确实很重要.即使是大型页面也只需要少量数据包,但服务器可能需要更多时间来组装输出.此外,重定向和其他内容(例如代理)的数量可以显着增加响应时间.

一般来说,超时的"最佳价值"取决于您的网络和服务器的要求和条件.这些条件是变化的.因此,没有"一个最好的价值".
我建议使用相当短的超时,然后重试失败的下载.

Btw cURL不会自动下载响应中引用的资源.您必须通过进一步调用curl_exec(使用新的超时)手动执行此操作.