用asp与php实现百度ping服务的代码

 更新时间:2012年02月04日 14:13:54   作者:  
分别用asp与php实现百度ping服务的代码,需要的朋友可以参考下
ASP:
复制代码 代码如下:

<%
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, "<int>0</int>") > 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 & "<?xml version=""1.0″" encoding=""gb2312″"?>"
s = s & "<methodCall>"
s = s & "<methodName>weblogUpdates.ping</methodName>"
s = s & "<params>"
s = s & "<param><value><string>开发网站的一些小技巧</string></value></param>"
s = s & "<param><value><string>http://hi.baidu.com/subendong/blog</string></value></param>"
s = s & "<param><value><string>http://hi.baidu.com/subendong/blog/item/6cd9468d243e8c07b21bba5e.html</string></value></param>"
s = s & "<param><value><string></string></value></param>"
s = s & "</params>"
s = s & "</methodCall>"
Response.Write "<p>发送Ping到:" & Url & "</p>"
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
%>

PHP:
复制代码 代码如下:

<?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=\"gb2312\"?>
<methodCall>
<methodName>weblogUpdates.extendedPing</methodName>
<params>
<param><value><string>脚本之家</string></value></param>
<param><value><string>https://www.jb51.net</string></value></param>
<param><value><string>https://www.jb51.net/a/15222.html</string></value></param>
<param><value><string>https://www.jb51.net</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失败";
}
?>

相关文章

  • jenkins通过sshPut传输文件时报错Permission denied的SftpException的问题及解决方案

    jenkins通过sshPut传输文件时报错Permission denied的SftpException的问题及解决

    使用jenkins的ssh插件传输文件至远程机器的指定目录,php程序打包后,经过zip压缩为oms.zip,这篇文章主要介绍了jenkins通过sshPut传输文件的时候,报错Permission denied的SftpException,需要的朋友可以参考下
    2023-08-08
  • ROS机器人底盘坐标像素变换操作方法

    ROS机器人底盘坐标像素变换操作方法

    ROS最常用到的三个坐标系是:map、odom、base_link,这篇文章主要介绍了ROS机器人底盘坐标像素变换,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-01-01
  • 面试的时候该如何自我介绍详解

    面试的时候该如何自我介绍详解

    面试中自我介绍、项目是我们的重头戏,在面试二面、三面中都起到了至关重要的的作用,这篇文章主要介绍了面试的时候该如何自我介绍的相关资料,需要的朋友可以参考下
    2008-06-06
  • AERGO SHIP:用于开发智能合约的包管理器

    AERGO SHIP:用于开发智能合约的包管理器

    AERGO SHIP:用于开发智能合约的包管理器,用于构建、测试和部署分布式应用程序的客户端框架和开发环境
    2018-11-11
  • typescript 实现RabbitMQ死信队列和延迟队列(订单10分钟未付归还库存)的过程

    typescript 实现RabbitMQ死信队列和延迟队列(订单10分钟未付归还库存)的过程

    RabbitMQ作为一款流行的消息队列服务,提供了死信队列(Dead Letter Exchange)功能,能够有效地处理消息被拒绝、消息过期以及队列达到最大长度等情况,本文将介绍如何利用RabbitMQ的死信队列来处理这三种情况,并提供了TypeScript示例代码,需要的朋友可以参考下
    2024-03-03
  • vscode输入npm install报错:node-sass@8.0.0 install:'node scripts/install.js'解决

    vscode输入npm install报错:node-sass@8.0.0 install:'node 

    这篇文章主要给大家介绍了关于vscode输入npm install报错:node-sass@8.0.0 install:'node scripts/install.js'的解决方法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • MobaXterm最新激活专业版

    MobaXterm最新激活专业版

    MobaXterm是一款远程终端控制软件,集串口,SSH远程登录和FTP传输三合一的工具,便携版操作简单,使用非常方便,这篇文章主要介绍了MobaXterm激活专业版,需要的朋友可以参考下
    2023-06-06
  • git可视化工具Sourcetree使用全攻略(git冲突解决)

    git可视化工具Sourcetree使用全攻略(git冲突解决)

    本文主要介绍了git可视化工具Sourcetree使用全攻略,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • skynet.call使用详细解析

    skynet.call使用详细解析

    这篇文章主要介绍了skynet.call使用详细解析,本文给大家介绍的非常详细对大家的学习或工作具有一定的参考借鉴价值,感兴趣的朋友一起看看吧
    2025-04-04
  • 基于Jupyter notebook搭建Spark集群开发环境的详细过程

    基于Jupyter notebook搭建Spark集群开发环境的详细过程

    Jupyter Notebook是一个开源并且使用很广泛项目,本文介绍如何基于Jupyter notebook搭建Spark集群开发环境,通过实例截图相结合给大家介绍的非常详细,需要的朋友参考下吧
    2021-10-10

最新评论