Joomla!-开源天空

2008-10-08
首页 专栏热点 Google、百度和其他 如何实现自动google blog ping


如何实现自动google blog ping

E-mail

什么是google blog ping 服务? 这篇文章中,我们了解了什么是google blog ping 以及如何手动实现,如何在程序中实现自动ping?

google还提供了一套xml格式的协议,按照相应的格式 POST方式提交到相应的地址就可以了。以下是我的部分代码,请参考:

function googleping ($blogname, $webaddress, $urladdress, $rssaddress, $categoryname) {
 $url="http://blogsearch.google.com/ping/RPC2";
 $trackback_url=parse_url($url);
 $out="POST /ping/RPC2 HTTP/1.0\r\n";
 $out.="Host: blogsearch.google.com\r\n";
 $out.="Content-Type: text/xml; charset=utf-8\r\n";
 $query_string="<?xml version=\"1.0\"?>\r\n<methodCall>\r\n<methodName>weblogUpdates.extendedPing</methodName>\r\n<params>\r\n<param>\r\n<value>{$blogname}</value>\r\n</param>\r\n<param>\r\n<value>{$webaddress}</value>\r\n</param>\r\n<param>\r\n<value>{$urladdress}</value>\r\n</param>\r\n<param>\r\n<value>{$rssaddress}</value>\r\n</param>\r\n<param>\r\n<value>{$categoryname}</value>\r\n</param>\r\n</params>\r\n</methodCall>";
 $out.='Content-Length: '.strlen($query_string)."\r\n";
 $out.="User-Agent: www.maycode.com\r\n\r\n";
 $out.=$query_string;
 $trackback_url['port']=80;
 $fs=fsockopen($trackback_url['host'], $trackback_url['port'], $errno, $errstr, 10);
 if (!$fs) return false;
 fputs($fs, $out);
 $http_response = '';
 while(!feof($fs)) {
  $http_response .= fgets($fs, 128);
 }
 @fclose($fs);
 echo $http_response;
 return true;
}

在提交文章后,可以调用这段代码,实现自动提交。



收藏此文章:
Digg! Reddit! Del.icio.us! JoomlaVote! Google! Live! Facebook! StumbleUpon! Yahoo! Free social bookmarking plugins and extensions for Joomla! websites!

发表您的文章评论

您的姓名 (昵称)
标题:
评分: 很差一般较好很好
评论:
验证码:
请输入验证码