ping服务,这里不再多讲,有很多的PING服务是基于XMLRPC的,今天,我共享的这个是基于CURL的,原理都是一样,都是把XML数据通过POST方法提交给PING服务器,下面的例子是把XML数据提交给百度的PING服务器的例子,测试成功:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | <?php function postUrl($url, $postvar) { $ch = curl_init(); $headers = array( "POST ".$url." HTTP/1.0", "Content-type: text/xml; charset=\"gb2312\"", "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; } $baiduXML = "<?xml version=\"1.0\" encoding=\"utf-8\"?> <methodCall> <methodName>weblogUpdates.extendedPing</methodName> <params> <param><value><string>WEB开发笔记</string></value></param> <param><value><string>http://www.chhua.com.com</string></value></param> <param><value><string>http://www.chhua.com/web-note2156 </string></value></param> <param><value><string>http://www.chhua.com</string></value></param> </params> </methodCall>"; $res = postUrl('http://ping.baidu.com/ping/RPC2', $baiduXML); if ( strpos($res, "<int>0</int>") ) { echo "PING成功"; } else { echo "PING失败"; } ?> |
自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com
本文链接地址: 基于CURL的ping服务 http://www.chhua.com/web-note2156
评论