携帯 - コメント一覧 - 更新記録 - サイトマップ  

MA M&Aバンク » 開発者blog

icon HOME icon 会社案内 icon 冤罪を創る人々 icon 引かれ者の小唄 icon 経済事件ノート icon 山根治blog icon 開発者blog

PHPで複数pingサーバへ更新通知 . はてなブックマーク  Twitter   2007-10-12

 とある事情により、GoogleやYahoo!などの複数pingサーバへRSSを自動的に送信する必要に迫られたので、備忘的にメモを残しておきます。
 「XML/RPC.php」というpearが入っていれば、「$blogTitle」と「$blogTopUrl」を書き換えるだけでOKです。代表的と思われるpingサーバをいくつか入れていますが、適宜付け加えたり削除したりしてください。

 ちなみに下記ページに少しだけ手を加えたものです。(ありがとうございました)
pearで更新pingの送信
 
<?php
 require_once('XML/RPC.php');

 $blogTitle = 'My Blog';
 $blogTopUrl = 'http://blog.example.com';

 $ping = array(
  'api.my.yahoo.co.jp' => '/RPC2',
  'blog.goo.ne.jp' => '/XMLRPC',
  'blogsearch.google.co.jp' => '/ping/RPC2',
  'bulkfeeds.net' => '/rpc',
  'rpc.technorati.com' => '/rpc/ping',
  'ping.ask.jp' => '/xmlrpc.m',
  'ping.bloggers.jp' => '/rpc/',
  'www.blogpeople.net' => '/servlet/weblogUpdates'
 );

 $param = array(
  new XML_RPC_Value($blogTitle, 'string'),
  new XML_RPC_Value($blogTopUrl, 'string')
 );
 $msg=new XML_RPC_Message('weblogUpdates.ping', $param);
 foreach($ping as $pingServer => $pingPath) {
  $client = new XML_RPC_Client($pingPath, $pingServer, 80);
  $response = $client->send($msg);
  if(!$response) {
   echo "timeout : ".$pingServer."<br />\n";
  }elseif($response->faultCode()) {
   echo "failed : ".$pingServer."<br />\n";
  }else {
   echo "success!! : ".$pingServer."<br />\n";
  }
 }
 exit;
?>

 今まで必要性をあまり感じなかったので、pingサーバを利用したことがありませんでしたが、実際に使ってみると便利ですね。
 例えばテクノクラティジャパンのブログ検索は、ping送信した直後に反映されました。あまりの早さに驚くと共に、RSSフィードだけでなく全てのHTMLコードがインデックス化されているし、まさに万々歳です。 

 現在、PHPとJavaScriptとXML(JSON)で、日記というか手軽にメモできるサイトの構築を行なっています。各種APIを利用することで、どうやらデータベースを使うことなく、面白いものができそうです。

PHPで複数pingサーバへ更新通知 (2007-10-12) . はてなブックマーク  Twitter  


関連するカテゴリー

前後のページ

このエントリーへのトラックバック

   [告知] ※トラックバックスパムが多いので、しばらくの間トラックバックの受付を停止いたします。(2006-08-08)


このエントリーへのコメント



Copyright©2004-2010 "M&A bank Co.,LTD". Powered by Nucleus CMS v3.41.