您的位置 首页 Linux

当curl尝试解析主机时,如何更改php curl超时(curl err_no 6)

我正在对页面执行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.

关于作者: dawei

【声明】:金华站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

热门文章