手记

用php实现Google /Baidu Ping服务快速收录

玩过WORDPRESS的朋友应该都知道ping服务吧,通俗点讲它可以在更新文章的时候向Google、baidu及其他支持ping的搜索引擎发送指令然后招呼它们过来,不用傻等他们过来收录了,化被动为主动了。直接贴代码了,很简单的。


/**  +------------------------------------------------------------------------------ * 通知搜索引擎过来抓去最新发布的内容。秒收不是梦 * 目前仅支持Google和Baidu  +------------------------------------------------------------------------------ */class ping {      public $method, $callback;      public function method($site_name, $site_url, $update_url, $update_rss) {        $this->method = "  <?xml version="1.0" encoding="UTF-8"?>  <methodCall>    <methodName>weblogUpdates.extendedPing</methodName>    <params>   <param><value>{$site_name}</value></param>   <param><value>{$site_url}</value></param>   <param><value>{$update_url}</value></param>   <param><value>{$update_rss}</value></param>    </params>  </methodCall>";        return $this->method;    }      public function _post($url, $postvar) {        $ch = curl_init();        $headers = array(            "POST " . $url . " HTTP/1.0",            "Content-type: text/xml;charset="utf-8"",            "Accept: text/xml",            "Content-length: " . strlen($postvar)        );        curl_setopt($ch, CURLOPT_URL, $url);        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);        curl_setopt($ch, CURLOPT_POST, 1);        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);        curl_setopt($ch, CURLOPT_POSTFIELDS, $postvar);        $res = curl_exec($ch);        curl_close($ch);        return $res;    }      public function google() {        $this->callback = $this->_post('http://blogsearch.google.com/ping/RPC2', $this->method);        return strpos($this->callback, "<boolean>0</boolean>") ? true : false;    }      public function baidu() {        $this->callback = $this->_post('http://ping.baidu.com/ping/RPC2', $this->method);        return strpos($this->callback, "<int>0</int>") ? true : false;    }  }


0人推荐
随时随地看视频
慕课网APP