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
%>
新聞熱點
疑難解答