ASP Ping通知Feed烧制中心更新

王朝学院·作者佚名  2009-05-05
窄屏简体版  字體: 小  |  中  |  大  |  超大  

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

%>

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航