用asp与php实现百度ping服务的代码
发布时间:2016-11-30 03:17:18 所属栏目:MySql教程 来源:站长网
导读:ASP: 复制代码 代码如下: lt;% Option Explicit Response.Buffer = true Response.ContentType = "text/html" Response.Charset = "gb2312″ Dim Url, Result Url = "http://ping.baidu.com/ping/RPC2" Result = BytesToBstr(SendPing(Url), "gb2312″) IF
ASP: 复制代码 代码如下: lt;% Option Explicit Response.Buffer = true Response.ContentType = "text/html" Response.Charset = "gb2312″ Dim Url, Result Url = "http://ping.baidu.com/ping/RPC2" Result = BytesToBstr(SendPing(Url), "gb2312″) IF Instr(Result, "lt;intgt;0lt;/intgt;") gt; 0 Then Response.Write("success") Else Response.Write("failure") End IF Function SendPing(Url) Dim s : s = "" Randomize() Dim r : r = Int(Rnd() * 9999) + 1000 s = s "lt;?xml version=""1.0″" encoding=""gb2312″"?gt;" s = s "lt;methodCallgt;" s = s "lt;methodNamegt;weblogUpdates.pinglt;/methodNamegt;" s = s "lt;paramsgt;" s = s "lt;paramgt;lt;valuegt;lt;stringgt;开发网站的一些小技巧lt;/stringgt;lt;/valuegt;lt;/paramgt;" s = s "lt;paramgt;lt;valuegt;lt;stringgt;http://hi.baidu.com/subendong/bloglt;/stringgt;lt;/valuegt;lt;/paramgt;" s = s "lt;paramgt;lt;valuegt;lt;stringgt;http://hi.baidu.com/subendong/blog/item/6cd9468d243e8c07b21bba5e.htmllt;/stringgt;lt;/valuegt;lt;/paramgt;" s = s "lt;paramgt;lt;valuegt;lt;stringgt;lt;/stringgt;lt;/valuegt;lt;/paramgt;" s = s "lt;/paramsgt;" s = s "lt;/methodCallgt;" Response.Write "lt;pgt;发送Ping到:" Url "lt;/pgt;" Response.Flush Dim objPing Set objPing = Server.CreateObject("MSXML2.ServerXMLHTTP") objPing.SetTimeOuts 10000, 10000, 10000, 10000 ‘第一个数值:解析DNS名字的超时时间10秒 ‘第二个数值:建立Winsock连接的超时时间10秒 ‘第三个数值:发送数据的超时时间10秒 ‘第四个数值:接收response的超时时间10秒 objPing.open "POST", Url "?r=" r, False objPing.setRequestHeader "Content-Type", "text/xml; charset=gb2312″ objPing.send(s) SendPing = objPing.ResponseBody Set objPing = Nothing End Function ‘=============================================== ‘函数名:BytesToBstr ‘作用:字符集转换 ‘参数:body–内容;Cset–指定的字符集 ‘=============================================== Function BytesToBstr(body, Cset) dim objstream set objstream = Server.CreateObject("adodb.stream") objstream.Type = 1 objstream.Mode =3 objstream.Open objstream.Write body objstream.Position = 0 objstream.Type = 2 objstream.Charset = Cset BytesToBstr = objstream.ReadText objstream.Close set objstream = nothing End Function %gt; PHP: 复制代码 代码如下: lt;?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 = "lt;?xml version="1.0" encoding="gb2312"?gt; lt;methodCallgt; lt;methodNamegt;weblogUpdates.extendedPinglt;/methodNamegt; lt;paramsgt; lt;paramgt;lt;valuegt;lt;stringgt;脚本之家lt;/stringgt;lt;/valuegt;lt;/paramgt; lt;paramgt;lt;valuegt;lt;stringgt;http://www.jb51.netlt;/stringgt;lt;/valuegt;lt;/paramgt; lt;paramgt;lt;valuegt;lt;stringgt;http://www.jb51.net/a/15222.htmllt;/stringgt;lt;/valuegt;lt;/paramgt; lt;paramgt;lt;valuegt;lt;stringgt;http://www.jb51.netlt;/stringgt;lt;/valuegt;lt;/paramgt; lt;/paramsgt; lt;/methodCallgt;"; $res = postUrl(‘http://ping.baidu.com/ping/RPC2′, $baiduXML); if ( strpos($res, "lt;intgt;0lt;/intgt;") ) { echo "PING成功"; } else { echo "PING失败"; } ?gt; (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |