我有一个 PHP 刮板,可以在我的本地完美运行。但是当我将它上传到我的 VPS(Ubuntu 16.04)时,它无法从网站获取数据。相反,它显示此错误消息:
“ curl:(56)GnuTLS recv错误(-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;
}
提前致谢。