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

所属分类: 网络编程 / 其它综合 阅读数: 1006
收藏 0 赞 0 分享
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失败";
}
?>
更多精彩内容其他人还在看

科学知识:时间复杂度计算方法

这篇文章主要介绍了科学知识:时间复杂度计算方法,本文介绍了问题的定义、时间复杂度计算步骤、时间复杂度计算规则等内容,需要的朋友可以参考下
收藏 0 赞 0 分享

科学知识:理解socket

这篇文章主要介绍了科学知识:理解socket,本文试图用简洁的语言说清楚socket的相关知识,以便理解,需要的朋友可以参考下
收藏 0 赞 0 分享

科学知识:同步、异步、阻塞和非阻塞区别

这篇文章主要介绍了科学知识:同步、异步、阻塞和非阻塞区别,本文分别讲解了这些概念,需要的朋友可以参考下
收藏 0 赞 0 分享

24种编程语言的Hello World程序

这篇文章主要介绍了24种编程语言的Hello World程序,包括熟知的Java、C语言、C++、C#、Ruby、Python、PHP等编程语言,需要的朋友可以参考下
收藏 0 赞 0 分享

科普:多线程与异步的区别

这篇文章主要介绍了科普:多线程与异步的区别,本文讲解了多线程和异步操作的异同、异步操作的本质、线程的本质、异步操作的优缺点、多线程的优缺点等内容,需要的朋友可以参考下
收藏 0 赞 0 分享

网址(URL)支持的最大长度是多少?最大支持多少个字符?

这篇文章主要介绍了网址(URL)支持的最大长度是多少?最大支持多少个字符?本文总结了IIS、apache服务器及浏览器软件Internet Explorer、Firefox、Opera、chrome等主流的浏览器软件支持情况,需要的朋友可以参考下
收藏 0 赞 0 分享

RPC、RMI、SOAP的区别详解

这篇文章主要介绍了RPC、RMI、SOAP的区别详解,本文还同时讲解了RPC、SOAP、WSDL的关系,需要的朋友可以参考下
收藏 0 赞 0 分享

一张图告诉你计算机编程语言的发展历史

这篇文章主要介绍了一张图告诉你计算机编程语言的发展历史,也可看作是计算机的发展历史大事记,需要的朋友可以参考下
收藏 0 赞 0 分享

Flyway数据库版本控制的教程详解

这篇文章主要介绍了Flyway数据库版本控制的教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

github版本库使用详细图文教程(命令行及图形界面版)

今天我们就来学习github的使用,我们将用它来管理我们的代码,你会发现它的好处的,当然是要在本系列教程全部完成之后,所以请紧跟站长的步伐,今天是第一天,我们来学习如何在git上建立自己的版本仓库,并将代码上传到仓库中
收藏 0 赞 0 分享
查看更多