Функция возврата curl Протокол http не поддерживается или отключен в libcurl

1

im сталкивается с этой проблемой с этой функцией:

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
    очень странная ошибка, вы уверены, что https не поддерживается вместо http ???
  • 1
    упс, я только что нашел проблему, это был пробел перед http в моем URL.
Теги:
curl
http

2 ответа

1

Обновите свою функцию, чтобы избежать странных ошибок :)

function curl_function($uri) {
    $uri = trim($uri); 
    // ... your code  
}
0

Отладка распечатает URL и убедитесь, что он не содержит посторонних символов.

В моем случае был указан URL, который я использовал с php curl. Котировка не печатается с помощью обработки ошибок curl, поэтому ошибка довольно запутанна и сложна для отслеживания.

Вы можете создать эту ошибку с помощью следующего кода:

// wrong
$uri = "'". "http://www.google.com/" . "'"; // quoted string
curl_setopt($ch, CURLOPT_URL, $url);

Теперь попробуйте с правильным URL-адресом...

// right
$uri = "http://www.google.com/"; // correct format URL
curl_setopt($ch, CURLOPT_URL, $url);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню