加入收藏 | 设为首页 | 会员中心 | 我要投稿 宁德站长网 (https://www.0593zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

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

发布时间:2020-12-30 18:31:20 所属栏目:Linux 来源:网络整理
导读:我正在对页面执行curl请求.我已经设置了’CURLOPT_TIMEOUT'(到6秒)和’CURLOPT_CONNECTTIMEOUT'(到4秒) – 并且两者都适用于大多数URL. 但是,当一个网页没有响应时(并最终导致CURL通过’无法解决主机’错误(err_no 6)) – 似乎’CURLOPT_TIMEOUT’没有效果

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

(编辑:宁德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读