За последние 24 часа нас посетили 22495 программистов и 1012 роботов. Сейчас ищут 635 программистов ...

file_get_contents отдаёт пустой результат

Тема в разделе "PHP для новичков", создана пользователем iPavel, 8 апр 2017.

  1. iPavel

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

    С нами с:
    8 апр 2017
    Сообщения:
    10
    Симпатии:
    0
    есть api, которое отдаёт информацию по запрошенному телефону. Допустим, запрос такой http://rosreestr.subnets.ru/?get=num&num=9999999999. т.е. пишу
    Код (Text):
    1. $rosreestrRequest = 'http://rosreestr.subnets.ru/?get=num&num=9999999999';
    2. var_dump(file_get_contents($rosreestrRequest);
    Но в ответ получаю пустой результат, хотя если напрямую в браузере строку вставить, всё ок. Пробовал другой сайт - всё ок, пробовал с другого сервера - такая же картина(пустой результат).
    Через curl тоже пустой результат отдаёт
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Значит, на этом сайте стоит проверка на признак того, что запрос идет непосредственно от браузера.
     
  3. iPavel

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

    С нами с:
    8 апр 2017
    Сообщения:
    10
    Симпатии:
    0
    так это же api, создано специально для парсинга, вот http://rosreestr.subnets.ru/
     
  4. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Лень наводить красоту
    PHP:
    1. $url='http://rosreestr.subnets.ru/?get=num&num=9999999999';
    2. $agent= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
    3.  
    4. $ch = curl_init();
    5. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    6. curl_setopt($ch, CURLOPT_USERAGENT, $agent);
    7. curl_setopt($ch, CURLOPT_URL,$url);
    Код (Text):
    1. string(187) "
    2. code: 999
    3. codeID: 297614
    4. from: 9800000
    5. to: 9999999
    6. capacity: 200000
    7. operator: Yota
    8. operatorID: 5448
    9. region: Москва и Московская область
    10. regionID: 1880
    11. "
    В каком формате и как получать данные описано в API
     
    #4 alexblack, 8 апр 2017
    Последнее редактирование: 8 апр 2017
    iPavel нравится это.
  5. iPavel

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

    С нами с:
    8 апр 2017
    Сообщения:
    10
    Симпатии:
    0
    Спасибо большое, пробовал через заголовки отправить агента, ничего не выходило. Очень помогли и сэкономили время!