我对此代码有疑问:
function get_request($url,$header_array){
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => $header_array,
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
return $response;
}
}
我遇到了这个错误:
cURL Error #:Could not resolve host:
我知道有很多这样的问题,但是这些问题的答案对我没有帮助,因为它的代码不同。有谁能帮助我解决此错误:
答案 0 :(得分:1)
可能有几件事;通常是网址格式错误或cURL范围之外的网络问题。
首先,为自己节省一些时间,只需仔细检查您输入的URL是否正确即可。我一次又一次= D
接下来,在执行PHP代码的同一台计算机上,并在同一用户下,从命令行运行类似curl -sS http://yoururl.com/example
的命令。这将帮助您仔细检查您的代码实际上可以发出出站HTTP请求。
如果curl命令在bash中失败,则可以根据错误查看一些原因:
在这一点上,您的问题从卷曲转向网络和DNS,因此我不会更深入地进行调试……但这至少是我开始研究您的错误消息的地方。
答案 1 :(得分:0)
读取症状后,您使用的DNS解析器可能太忙(超时)-或-在特定时间范围内限制每个IP地址的查询数量。因此,如果在不同的日期运行相同的精确过程,可能会给出不同的错误。