我面临这个功能的问题:
function curl_function($uri)
{
$ch = curl_init($uri);
$timeout = 30; //set to zero for no timeout
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_USERAGENT, 'mycoreg');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
$file_contents = curl_exec($ch);
$errornum = curl_errno($ch);
$info = curl_getinfo($ch);
$status = (int) $info['http_code'];
if ($errornum !== 0) {
echo 'Error: ', curl_error($ch);
$file_contents = NULL;
}
curl_close($ch);
return $file_contents;
}
它给出了错误
"http protocol is not supported or disabled".
PLZ需要帮助。 感谢。
答案 0 :(得分:2)
调试打印您的URL并确保它不包含任何无关的字符。
在我的情况下,引用了我使用php curl的URL。卷曲错误处理不会打印报价,因此错误相当混乱,难以追踪。
您可以使用以下代码生成此错误:
// wrong
$uri = "'". "http://www.google.com/" . "'"; // quoted string
curl_setopt($ch, CURLOPT_URL, $url);
现在尝试使用正确的网址格式...
// right
$uri = "http://www.google.com/"; // correct format URL
curl_setopt($ch, CURLOPT_URL, $url);
答案 1 :(得分:1)
像这样更新你的函数以避免一些奇怪的错误:)
function curl_function($uri) {
$uri = trim($uri);
// ... your code
}