[英]PHP CURL curl_exec returns “Couldn't resolve host ”www.~.com". Is CURL enabled?
[英]PHP curl returns error: Couldn't resolve host 'www.xxx.com'. How can I solve this?
此函數返回 null 並打印錯誤:
無法解析主機“www.xxx.com”
function file_get_html_using_cURL($url) {
if (!function_exists('curl_init')){
die('CURL is not installed!');
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
if(curl_errno($ch)){
echo 'Curl error: ' . curl_error($ch);
echo "\n--------------------\n";
print_r(curl_getinfo($ch));
echo "\n--------------------\n";
}
$output = str_get_html($output); // <-- Important line to convert string into object!
curl_close($ch);
return $output;
}
當我在本地主機中加載此代碼時,它可以工作。 但是當我將它上傳到遠程服務器時它會拋出錯誤。
我猜測遠程服務器已阻止 CURL 執行。
這是一個免費的服務器,所以我無法更改 php.ini 中的任何設置
有沒有辦法解決這個問題?
聚苯乙烯
file_get_content($url)
也被屏蔽了。 所以我嘗試使用 curl 代替。 但不是 curl 似乎不再起作用了。
請檢查以下代碼並驗證您的服務器問題。
$curl = curl_init();
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HTTPGET, 1);
curl_setopt($curl, CURLOPT_URL, 'YOUR_URL' );
curl_setopt($curl, CURLOPT_DNS_USE_GLOBAL_CACHE, false );
curl_setopt($curl, CURLOPT_DNS_CACHE_TIMEOUT, 2 );
var_dump(curl_exec($curl));
var_dump(curl_getinfo($curl));
var_dump(curl_error($curl));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.