例1,百度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.leduz.com</string></value></param>
<param><value><string>www.leduz.com</string></value></param>
<param><value><string>http://www.leduz.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失败";
例2,google ping服务代码:
$googleXML = <<<END
<?xml version="1.0"?>
<methodCall>
<methodName>weblogUpdates.extendedPing</methodName>
<params>
<param>
<value>小桔灯分类信息网</value>
</param>
<param>
<value>http://www.leduz.com</value>
</param>
<param>
<value>http://www.leduz.com</value>
</param>
<param>
<value>http://www.leduz.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失败";
附,postUrl函数代码。
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;
}