Вопросы о скрипте пинга Яндекса

Тема в разделе "PHP", создана пользователем dig555, 23 сен 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. dig555

    dig555

    Регистр.:
    22 июн 2007
    Сообщения:
    363
    Симпатии:
    148
    Не пинайте плз нуба. Вот скрипт пинга в Яндекс. Вызов функции внизу.
    PHP:
    <?php
    set_time_limit
    (0);
    function 
    ping ($url$blogname$blogurl)
    {

    $tb_send='<?xml version="1.0"?>
    <methodCall>
        <methodName>weblogUpdates.ping</methodName>
        <params>
            <param>
                <value>'
    .$blogname.'</value>
            </param>
            <param>
                <value>'
    .$blogurl.'</value>
            </param>
        </params>
    </methodCall>'
    ;

        
    $target=parse_url($url);

        
    $tb_sock fsockopen($target["host"],  80);
        
    fputs($tb_sock"POST " $target["path"] . $target["query"] . " HTTP/1.1\r\n");
        
    fputs($tb_sock"User-Agent: NoAgent\r\n");
        
    fputs($tb_sock"Host: " $target["host"] . "\r\n");
        
    fputs($tb_sock"Content-Type: text/xml\r\n");
        
    fputs($tb_sock"Content-length: " strlen($tb_send) . "\r\n");
        
    fputs($tb_sock"Connection: close\r\n\r\n");
        
    fputs($tb_sock$tb_send);
        
    // Gather result
        
    while (!feof($tb_sock)) {
            
    $response .= fgets($tb_sock128);
        }
        
    // Close socket
        
    fclose($tb_sock);
        
    // Did the trackback ping work
        
    strpos($response'<error>0</error>') ? $return true $return false;
        
    // send result
        
    return $return;

    }

    ping ("http://ping.blogs.yandex.ru/RPC2"$TITLE$URLPATH);
    ?>
    Вопросы:
    1).Можно ли этот скрипт использовать для пинга любой своей инфы?
    Т.е. если у меня есть страница http://site.com/post_bla_bla_bla.php, а на ней новость Bla-Bla-Bla могу ли я пинговать эту новость так: _http://host.ru/script_pinga.php?title=Bla-bla-bla&urlpath=http://site.com/post_bla_bla_bla.php
    Или может title и urlpath нужно сначала пропустить через urlencode?
    2).И вообще можно ли пинговать таким образом простые страницы, или можно только RSS?
    3).Ещё объясните мне плз, что этот скрипт в $return отдаёт.
    4). И вот такой момент. Сейчас сервис мониторинга пингов ping.blogs.yandex.ru тормозит страшно. Можно ли как-то удостовериться что пинг ушёл благополучно? А если не ушёл - то долбать Яндекс пока не уйдёт?
     
  2. joefast

    joefast

    Заблокирован
    Регистр.:
    6 ноя 2007
    Сообщения:
    464
    Симпатии:
    74
    1) использовать можно для страниц с постами. Пинговать страницей с единственной картинкой (да еще и без альта) смысла нет;
    2) можно простые страницы;
    3) успешность трекбека. Думаю, для яндекса смысла нет;
    4) если сильно "настаивать" (пинговать) можно получить нехороший результат - один раз пинганул страничку и ладно
     
    dig555 нравится это.
  3. gregzem

    gregzem

    Регистр.:
    21 окт 2007
    Сообщения:
    200
    Симпатии:
    63
    Я не согласен с предыдущим ответом и предлагаю отделить мух от котлет.

    Что такое "пинг" в данной реализации и каково ее назначение?
    "Пинг" - это проверка обновления информации (например, в блоге или новостной ленте), используя вебсервисы.

    Зачем это ?
    Это нужно делать для того, чтобы проверить, нет ли каких-то новых постов перед тем как начать их вытягивать. Вы как бы спрашиваете"- чувак, а нет ли какой-то новой информации для меня?". А сайт тебе возвращает: "- ага, подтверждаю, есть такое дело, высасывай". И вы начинаете после этого их вытягивать.

    Как это работает

    На самом деле это работает через XML-RPC в простонародье называемый веб-сервисом (это такая надстройка над HTTP протоколом). Для того, чтобы сайт можно было "пингануть", нужно, чтобы он поддерживал интерфейс веб-сервиса. Таким образом отвечая на вопрос: можно ли "пингануть" любой сайт, указав ему URL отвечаю - нет, любой нельзя, только тот, который поддерживает данный XML-RPC интерфейс. Чтобы ваш сайт можно было так пинговать, вам нужно также поддерживать данный интерфейс (не обязательно полностью реализовывать веб-сервис, достаточно уметь принимать POST запрос, парсить его и адекватно отвечать на него).

    А теперь самое интересное, где об этом почитать:

    http://www.xmlrpc.com/weblogsCom
    http://www.weblogs.com/api.html
     
    dig555 нравится это.
  4. joefast

    joefast

    Заблокирован
    Регистр.:
    6 ноя 2007
    Сообщения:
    464
    Симпатии:
    74
    Согласен, что пинг как таковой и трекбек не одно и то же, но не понял, в чем был неточен мой ответ. Попытаюсь его расшифровать:
    1)использовать можно для страниц с постами. Пинговать страницей с единственной картинкой (да еще и без альта) смысла нет; - да, действительно, если мы хотим уведомить Яндекс о том, что появилась новая информация мы отправляем ему уведомление через XML-RPC. Уведомлять о том, что появилась новая страничка с картинкой без альта смысла все равно нет (там нечего индексировать)
    2) можно простые страницы; - да, можно уведомлять Яндекс о появлении новых страниц
    3) успешность трекбека. Думаю, для яндекса смысла нет; - механизм трекбек подразумевает наличие ответа об успешности обработки сообщения. Все так же думаю, что при пинговании (трекбекинг не так приятно звучит) Яндекса смысла в его анализе нет в связи с пунктом 4
    4) если сильно "настаивать" (пинговать) можно получить нехороший результат - один раз пинганул страничку и ладно. - неоднократно встречал утверждения о том, что слишком часто "беспокоить" поисковики уведомлениями о новых сообщениях нельзя

    P.S. В посте от 24.09.2008 все употребления слова "пинг", "пинговать" и т.д. следует считать эквивалентыми "трекбек", "отсылать трекбек" и т.д. в связи с наличием в теме фрагмента кода, который однозначно идентифицирует тип сообщения, используемый для связи с Яндексом.
     
  5. RooTerr

    RooTerr Создатель

    Регистр.:
    14 авг 2007
    Сообщения:
    20
    Симпатии:
    2
    4) слишком часто буишь долбить. постмастеры могут твой ИП в блеклист запихнуть и будешь ждать пока не разлочат или пока свой ип не сменишь. вообще щас столько разновидностей ДДОСА что щас за всем жесско заботятся.. по этому советую сделать не постоянно долбится араз в минуту в 5 минут..
     
Статус темы:
Закрыта.