У меня есть PHP скребок, который отлично работает на моем местном. Но когда я загрузил его на свой VPS (Ubuntu 16.04), он не смог получить данные с сайта. Вместо этого он показывает это сообщение об ошибке:
«curl: (56) GnuTLS recv error (-54): ошибка в функции извлечения»
Я обновил Openssl, Curl, GnuTLS до сих пор не повезло. Пытался выполнить CURL из командной строки, он показал ту же ошибку. Это должно быть как-то связано с CURL / GnuTLS. Я видел, что у некоторых людей было одно и то же сообщение об ошибке при использовании Git и исправление его, но это решение не работает в моем случае. Есть ли способ это исправить?
Вот функция PHP, которую я использую для получения данных с сайта:
function get_html($url)
{
$agent= 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Mobile Safari/537.36';
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Accept-Language: q=0.9,en-US;q=0.8,en;q=0.7',
'Connection: keep-alive'
));
curl_setopt($ch, CURLOPT_URL,$url);
$pageContent = curl_exec($ch);
curl_close($ch);
return $pageContent;
}
Заранее спасибо.
Задача ещё не решена.
Других решений пока нет …