错误提示:curl: (28) Resolving timed out after 16618 milliseconds
设置curl连接超时时间与超时时间
//连接超时时间
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30);
//超时时间
curl_setopt($curl, CURLOPT_TIMEOUT, 60);
更改/etc/resolv.conf中的DNS服务器列表
nameserver 223.5.5.5
nameserver 180.76.76.76
nameserver 114.114.114.114
nameserver 8.8.8.8
nameserver表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的,且只有当第一个nameserver没有反应时才查询下面的nameserver。
114.114.114.114是国内移动、电信和联通通用的DNS,解析成功率相对来说更高,国内用户使用的比较多,速度相对快、稳定,是国内用户上网常用的DNS。8.8.8.8是GOOGLE公司提供的DNS,该地址是全球通用的,相对来说,更适合国外以及访问国外网站的用户使用。
目前国内有不少的免费、安全而且无毒的DNS。
常见的如百度提供的180.76.76.76、阿里提供的223.5.5.5和223.6.6.6。
文章讲述了如何处理curl操作中遇到的Resolvingtimeout错误,建议设置curl的连接超时时间和总超时时间,并给出了修改/etc/resolv.conf文件,更换DNS服务器(如114.114.114.114和8.8.8.8)以优化域名解析速度的方法。还讨论了不同DNS服务器的适用场景和性能特点。
1万+

被折叠的 条评论
为什么被折叠?



