当前位置导航:炫浪网>>网络学院>>网页制作>>ASP教程

ASP Ping通知Feed烧制中心更新

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
%>

相关内容
赞助商链接