Baidu ping サービスと Google ping サービスの PHP 実装
Baidu ping サービスの PHP 実装:
$baiduXML = <<<EOT <?xml version="1.0" encoding="UTF-8"?> <methodCall> <methodName>weblogUpdates.extendedPing</methodName> <params> <param><value><string>小桔灯分类信息网</string></value></param> <param><value><string>http://www.xiaojudeng.com</string></value></param> <param><value><string>www.xiaojudeng.com</string></value></param> <param><value><string>http://www.xiaojudeng.com/sitemaps.xml</string></value></param> </params> </methodCall> EOT; $res = postUrl('http://ping.baidu.com/ping/RPC2', $baiduXML); //下面是返回成功与否的判断(根据百度ping的接口说明) if (strpos($res, "<int>0</int>")) echo "PING成功"; else echo "PING失败";
$googleXML = <<<END <?xml version="1.0"?> <methodCall> <methodName>weblogUpdates.extendedPing</methodName> <params> <param> <value>小桔灯分类信息网</value> </param> <param> <value>http://www.xiaojudeng.com</value> </param> <param> <value>http://www.xiaojudeng.com</value> </param> <param> <value>http://www.xiaojudeng.com/sitemaps.xml</value> </param> </params> </methodCall> END; $res = postUrl('http://blogsearch.google.com/ping/RPC2', $googleXML); //下面是返回成功与否的判断(根据谷歌ping的接口说明) if (strpos($res, "<boolean>0</boolean>")) echo "PING成功"; else echo "PING失败";
function postUrl($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; }