За последние 24 часа нас посетили 22673 программиста и 1258 роботов. Сейчас ищут 667 программистов ...

curl не забирает данные

Тема в разделе "PHP для новичков", создана пользователем Argentum, 30 апр 2019.

Метки:
  1. Argentum

    Argentum Активный пользователь

    С нами с:
    31 окт 2007
    Сообщения:
    24
    Симпатии:
    0
    Адрес:
    Москва
    Привет тебе, All!

    Что-то я затупил на ровном месте. Вот код:
    Вот код:

    Код (Text):
    1. $ch = curl_init();
    2. curl_setopt($ch, CURLOPT_URL, "http://static.feed.rbc.ru/rbc/logical/footer/news.rss");
    3. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    4. curl_setopt($ch, CURLOPT_TIMEOUT, 2);
    5. curl_setopt($ch, CURLOPT_HEADER, 1);
    6. curl_exec($ch);
    7. var_dump(curl_getinfo($ch));
    Я ожидаю, что он будет вытягивать содержимое RSS-ленты. Но он возвращает контент нулевой длины. Притом что HTTP-ответ - вполне себе 200.
    Если туда подставить любой другой URL (напр., "https://lenta.ru/rss"), то всё работает как надо. А конкретно этот URL не загружается. Хотя он валидный...

    Где могут быть грабли?
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.752
    Симпатии:
    1.322
    Адрес:
    Лень
  3. Emilien

    Emilien Активный пользователь

    С нами с:
    30 июн 2016
    Сообщения:
    246
    Симпатии:
    156
    Там просто блокируют запросы без User-Agent.
    PHP:
    1. curl_setopt($ch, CURLOPT_USERAGENT, 'lol');
     
    Roman __construct нравится это.
  4. Argentum

    Argentum Активный пользователь

    С нами с:
    31 окт 2007
    Сообщения:
    24
    Симпатии:
    0
    Адрес:
    Москва
    Большое спасибо!