За последние 24 часа нас посетили 18992 программиста и 1618 роботов. Сейчас ищет 971 программист ...

Отличия в отправке данных через php get\post и браузера

Тема в разделе "Прочие вопросы по PHP", создана пользователем ghostamonsta, 3 июл 2013.

  1. ghostamonsta

    ghostamonsta Новичок

    С нами с:
    3 июл 2013
    Сообщения:
    3
    Симпатии:
    0
    Использую доступ к веб Апи через php

    curl получает результат 2-3 sec (пробовал с множества разных хостов)
    post file_get_contents получает результат 2-3 sec (пробовал с множества разных хостов)
    get file_get_contents получает результат 2-3 sec (пробовал с множества разных хостов)

    Из браузеров отправляя такой же запрос получаю ответ мгновенно........ В какую сторону копать???7
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    надо подменить агента для начала. а то может те ребятки просто не хотят делиться своей инфой с ботами.
     
  3. ghostamonsta

    ghostamonsta Новичок

    С нами с:
    3 июл 2013
    Сообщения:
    3
    Симпатии:
    0
    Попробую как вариант, просто для доступа к АПИ используются ключи которые контора выдает и просто так на шару боты то не полезут.
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а чего бы тогда не спросить у них?
     
  5. ghostamonsta

    ghostamonsta Новичок

    С нами с:
    3 июл 2013
    Сообщения:
    3
    Симпатии:
    0
    Код (Text):
    1. $start = microtime(true);
    2.  
    3. function readGet() {
    4.     $url = "http://zzzz.com?q=d&category=1&pageNo=17";
    5.     $opts = array(
    6.       'http'=>array(
    7.         'method'=>"GET",
    8.         'header'=>"Accept-language: en\r\n" .
    9.                   "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.107 Safari/534.13\r\n"
    10.       )
    11.     );
    12.     $context = stream_context_create($opts);
    13.     $urlContents = file_get_contents($url, false, $context);
    14.     return $urlContents;
    15. }
    16.  
    17. $aaa=readGet();
    18. $time = microtime(true) - $start;
    19. printf('поиск кода %.4F сек.', $time);
    вот так подсунул агента , непомогло

    Добавлено спустя 1 минуту 7 секунд:
    сложно у них спросить, не отвечают они. а заказчик только ключ предоставил
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну тогда заказчику досвидос, берите другой заказ, чего время терять.