Завиток возвращает 'Пустой ответ с сервера' - PullRequest
0 голосов
/ 13 января 2019

Мне нужно извлечь страницу 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 голосов
/ 13 января 2019

Этот конкретный сайт отклоняет запросы 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);
?>

Тем не менее, на этом сайте могут быть причины, по которым вы не можете получить урожай с помощью завитков или аналогичных средств, поэтому не жалуйтесь, если вы это сделаете, получите блокировку ...

...