我正在对页面执行curl请求.我已经设置了’CURLOPT_TIMEOUT'(到6秒)和’CURLOPT_CONNECTTIMEOUT'(到4秒) – 并且两者都适用于大多数URL.
但是,当一个网页没有响应时(并最终导致CURL通过’无法解决主机’错误(err_no 6)) – 似乎’CURLOPT_TIMEOUT’没有效果,curl将等待,可能是无限期或直到某些’其他’ ‘超时到期.
使用我想要访问的URL,CURL在返回之前似乎总是花费大约15秒(这与’CURLOPT_TIMEOUT’或’CURLOPT_CONNECTTIMEOUT’无关.
有人可以告诉我如何限制CURL花费在尝试解析主机上的时间吗?
解决方法
那么你手上有3次超时.
> CURLOPT_TIMEOUT – 多久了
整个操作正在进行中
> CURLOPT_CONNECTTIMEOUT – 多长时间
cURL等待主持人回复
对它的要求
> DNS查找超时 –
您正在经历的DNS,DNS
查询失败并需要一段时间
去做这个
PHP中的cURL没有设置此超时的默认方法,我建议使用另一种超时方法解析主机名,然后将IP传递给cURL.