基于CURL的ping服务

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

随机笔记

更多