php实现百度ping与谷歌ping服务的代码

发布时间:2020-09-13编辑:脚本学堂
分享下php脚本实现百度ping服务、谷歌ping服务的方法,有需要的朋友参考下。

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