卷曲返回“来自服务器的空回复”

时间:2019-01-13 13:32:58

标签: php php-curl

我需要从服务器中提取HTTPS页面,并使用cURL打印错误“来自服务器的空回复”。 这是我的代码:

<?php
$ch = curl_init();
$headers = array('HTTP_ACCEPT: Something', 'HTTP_ACCEPT_LANGUAGE: fr, en, da, nl, it', 'HTTP_CONNECTION: Something');
curl_setopt($ch, CURLOPT_URL, 'https://gibbohotel.it/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec( $ch );
if(curl_exec($ch) === false)
{
    echo 'Curl error: ' . curl_error($ch);
}
else
{
    echo 'Operation completed without any errors';
}
curl_close($ch);
?>

这是外部服务器的代理问题吗?

1 个答案:

答案 0 :(得分:0)

该特定站点拒绝curl查询-命令行查询返回相同的结果。因此,您必须假装将CURLOPT_USERAGENT与其他用户代理一起使用。

<?php
$ch = curl_init();
$headers = array('HTTP_ACCEPT: Something', 'HTTP_ACCEPT_LANGUAGE: fr, en, da, nl, it', 'HTTP_CONNECTION: Something');
curl_setopt($ch, CURLOPT_URL, 'https://gibbohotel.it/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
$result = curl_exec( $ch );
if(curl_exec($ch) === false)
{
    echo 'Curl error: ' . curl_error($ch);
}
else
{
    echo 'Operation completed without any errors';
}
curl_close($ch);
?>

但是,此网站可能有未通过卷曲或类似方式收割的原因,因此请不要抱怨,如果这样做会被阻止...