日期:2014-05-17  浏览次数:20474 次

百度ping服务的php实现以及google ping服务
百度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失败";


google 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失败";


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;
}

转载自 http://www.js8.in/644.html