Пингатор яндекса

Тема в разделе "Как сделать...", создана пользователем booch, 30 мар 2008.

Статус темы:
Закрыта.
  1. booch

    booch Постоялец

    Регистр.:
    26 ноя 2007
    Сообщения:
    108
    Симпатии:
    14
    Друзья, пишу скрипт пинга на пхп, в интернете видел несколько решений, но почему-то они не работают, равно как и этот. В чём может быть ошибка, подскажите.

    PHP:
    <?php 
    function ping ($name$url) { 
        
    $acce "<?xml version=\"1.0\"?><methodCall> 
                       <methodName>weblogUpdates.ping</methodName> 
                       <params><param><value>"
    .$name."</value></param> 
                       <param><value>"
    .$url."</value></param></params></methodCall>";

         if(
    $ping = @fsockopen("ping.blogs.yandex.ru/RPC2"80$errno$errstr15)) { 
              
    fputs ($ping"POST /rpc/ping HTTP/1.0\r\n" 
                       
    "User-Agent: Radio UserLand/7.1b7 (WinNT)\r\n"
                       
    "Host: rpc.weblogs.com\r\n"
                       
    "Content-Type: text/xml\r\n"
                       
    "Content-length: ".$strlen($acce)."\r\n\r\n"); 
              
    fputs ($ping$acce); 
              
    fclose ($ping); 
         return 
    true
         } else { 
                     return 
    false
                   } 

    $ec ping ("29887""http://blog.com");
    echo 
    "<pre>".var_dump($ec)."</pre>";
    ?>
     
  2. Croner

    Croner Постоялец

    Регистр.:
    12 ноя 2006
    Сообщения:
    117
    Симпатии:
    19
    Вот так вроде работает
    PHP:
    <?php  
    function ping ($name$url) {  
        
    $acce "<?xml version=\"1.0\"?><methodCall>  
                       <methodName>weblogUpdates.ping</methodName>  
                       <params><param><value>"
    .$name."</value></param>  
                       <param><value>"
    .$url."</value></param></params></methodCall>"
         if(
    $ping = @fsockopen("ping.blogs.yandex.ru"80$errno$errstr15)) {  
              
    fputs ($ping"POST /rpc/ping HTTP/1.0\r\n" .  
                       
    "User-Agent: Radio UserLand/7.1b7 (WinNT)\r\n".  
                       
    "Host: rpc.weblogs.com\r\n".  
                       
    "Content-Type: text/xml\r\n".  
                       
    "Content-length: ".strlen($acce)."\r\n\r\n");  
              
    fputs ($ping$acce);  
              
    fclose ($ping);  
         return 
    true;  
         } else {  
                     return 
    false;  
                   }  
    }  
    $ec ping ("29887""http://blog.com/rss.php"); 
    echo 
    "<pre>".var_dump($ec)."</pre>"
    ?> 
     
     
    booch нравится это.
  3. D}I{I/IXAD

    D}I{I/IXAD Постоялец

    Регистр.:
    9 окт 2007
    Сообщения:
    145
    Симпатии:
    17
    подскажите пожалуйста (я в php не понимаю ничего)
    этот скрипт автоматически пингует сайт (блог)?
    или же его придется вручную запускать?
     
  4. judgefog

    judgefog

    Регистр.:
    12 авг 2006
    Сообщения:
    487
    Симпатии:
    335
    пинг - это извещение кого-л.
    о том что ты написал новый пост.

    следовательно,
    1. новый пост должен быть написан
    2. он должен быть с датой в ленте RSS, в скрипте на нее ссылка идет
    3. приведенная выше функция извещает яндекс и ее надо запустить после того как пост вышел
    4. а вот вручную будет это делаться, или будет прицеплено к функции постинга в твоем конкретном движке блога - у тебя есть выбор ;)
     
    belspirit и D}I{I/IXAD нравится это.
  5. D}I{I/IXAD

    D}I{I/IXAD Постоялец

    Регистр.:
    9 окт 2007
    Сообщения:
    145
    Симпатии:
    17
    еще вопрос
    я хочу сделать автонаполняемый блог, т.е. установил, настроил- забыл
    как осуществить чтобы пинг шел автоматически, после того как публикуется новое сообщение?

    вообще я остановил свой выбор на движке wordpress версии 2.5
    там вроде есть функция пинга, она работает? (вопрос к тем кто юзал эту версию)
     
  6. Croner

    Croner Постоялец

    Регистр.:
    12 ноя 2006
    Сообщения:
    117
    Симпатии:
    19
    дак а в чем проблема проверить то? там вроде список добавляешь что пинговать и все пингуется автоматом.
     
  7. kahovsky

    kahovsky Постоялец

    Регистр.:
    25 сен 2007
    Сообщения:
    143
    Симпатии:
    9
    Option -> Writing - и там в самом низу есть поле, куда вбиваешь урлы для пинга... и все будет автоматом пинговаться...
    а вот такой вопрос: в скрипт, написанный выше, что нужно добавить, чтобы пинговал через прокси? по идее куда-то в fsockopen... пробовал по разному - что-то не работает :(
     
  8. rodenis

    rodenis Постоялец

    Регистр.:
    2 дек 2006
    Сообщения:
    62
    Симпатии:
    4
    давно читал про пинг, но вот что непонятно - пинговать можно только блог, или любой сайт (при добавлении новой страницы)?
    и вообще, что дает пинг? зовет Я-бота?
     
  9. Croner

    Croner Постоялец

    Регистр.:
    12 ноя 2006
    Сообщения:
    117
    Симпатии:
    19
    Можно любой сайт. Но на нем должен быть rss/
    Пинг зовет ботов.
     
  10. kahovsky

    kahovsky Постоялец

    Регистр.:
    25 сен 2007
    Сообщения:
    143
    Симпатии:
    9
    Пинг ботов не зовет. Он просто извещает ресурсы всякие поисковые о том, что данный сайт обновился и его следует заново ботом просканировать. А уж посылать бота или нет - тут уже решает сам поисковик. Может и заместо ботов послать сайт в баню.
     
Статус темы:
Закрыта.