За последние 24 часа нас посетили 22989 программистов и 1233 робота. Сейчас ищут 805 программистов ...

эмуляция браузера на PHP

Тема в разделе "Решения, алгоритмы", создана пользователем yurko, 26 дек 2011.

  1. yurko

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

    С нами с:
    27 сен 2011
    Сообщения:
    13
    Симпатии:
    0
    Привет!
    Вот таким кодом я читаю контент со страницы:

    $content = '';
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt(
    $curl,
    CURLOPT_HTTPHEADER,
    Array(
    'User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:8.0.1) Gecko/20100101 Firefox/8.0.1' . "\r\n",
    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' . "\r\n",
    'Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3' . "\r\n",
    'Accept-Encoding: gzip, deflate' . "\r\n",
    'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7' . "\r\n",
    'Connection: keep-alive' . "\r\n",
    "\r\n",
    "\r\n"
    )
    );
    curl_setopt($curl, CURLOPT_COOKIEJAR, "filecookie");
    curl_setopt($curl, CURLOPT_COOKIEFILE, "filecookie");
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

    $content = curl_exec($curl);
    $handle = curl_copy_handle($curl);
    echo $handle . '<br>';
    echo $content . '<br>';
    curl_close($curl);
    return $content;

    Страница считывается нормально, но что-то происходит с нужными мне ссылками, которые расположены в теле текста страницы. Причём, что интересно, когда скрипт работает на домашнем серваке под виндой, то ссылки нормальные, не битые, а как только запускаю скрипт на хостинге, нужные ссылки битые.
    Как быть, что делать? Хост как-то определяет, что контент читает бот, а не браузер и выдаёт битые ссылки.

    Нормальная ссылка:
    http://a-44.my-hit.ru/data2/previews/62 ... ea021e1280

    Битая:
    http://a-94.my-hit.ru/data2/previews/62 ... aecff9b534

    Джава отпадает. Я отключал джаву в браузере и всё равно всё работает. Значит как-то определяет по хидерам, что бот. По другому никак.
     
  2. Gromo

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

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    четвёртая тема с таким же названием. точно размножаются почкованием =/
     
  3. karlozzz

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

    С нами с:
    24 окт 2010
    Сообщения:
    430
    Симпатии:
    0
    Адрес:
    Y-OLA
    блин, начинает раздражать
     
  4. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Gromo
    Почкованием?
    Не... Они получают от этого кайф :)