ping,操作系统里基本的一个小工具,正宗的解释是“用来侦测网络上的远端主机是否存在,并判断网络状况是否正常的网络侦测工具”。
这里提到的ping仅仅是一个对用户公开的简单的api,用户可以通过这个接口通知ping中心调度程序,由调度程序调控相关进程,检查用户提交的地址是否有新的输出,如果有新的内容则立即取回,并烧制。这对用户的feed来讲,可以做到快速的更新,而不用等待系统的调度,避免了一些feed长期不更新的问题。
简单来说,ping就是一个开放给用户用来检测feed源是否有更新的API应用。ping的应用已经非常广泛,诸如Wordpress、Z-Blog等程序都自带了Ping的功能
代码取自PJBLOG论坛,原为PJBLOG插件,看了下代码可以用在大多数的支持RSS输出的站点。
程序代码
<%
Const PingContent="http://www.feedsky.com/api/RPC2|http://blog.yodao.com/ping/RPC2|http://api.my.yahoo.com/RPC2|http://blogsearch.google.com/ping/RPC2|http://www.xianguo.com/xmlrpc/ping.php|http://www.zhuaxia.com/rpc/server.php"
Function SendPing
Dim Url,Urls
Urls=Split(Replace(PingContent,vbCr,""),"|")
For Each Url In Urls
If Trim(Url)<>"" Then
Call SendPing_Single(url)
End If
Next
End Function
Function SendPing_Single(url)
On Error Resume Next
Dim s,sUrl
'此处需要修改为自定义的生成网址
If blog_postFile = 2 Then
sUrl = siteURL&"article/"&postLog(2)&".htm"
else
sUrl = siteURL&"default.asp?id="&postLog(2)
end if
s = "<?xml version=""1.0""?><methodCall><methodName>weblogUpdates.ping</methodName><params><param><value>"&SiteName&"</value></param><param><value>"&sUrl&"</value></param></params></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,False
objPing.setRequestHeader "Content-Type", "text/xml"
objPing.send s
Set objPing = Nothing
Err.Clear
End Function
Call SendPing
%>