为博客添加RSS订阅代码(ASP)
首先我们了解一下什么是RSS!RSS是在线共享内容的一种简易方式(也叫聚合内容,Really Simple Syndication)。通常在时效性比较强的内容上使用RSS订阅能更快速获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新。网络用户可以在客户端借助于支持RSS的聚合工具软件(例如SharpReader,NewzCrawler、FeedDemon),在不打开网站内容页面的情况下阅读支持RSS输出的网站内容。如此,下面将我们的网站博客也添加RSS订阅。
<% ''连接数据库 On Error Resume Next '防暴库 dim db,conn,connstr db="数据库路径" set conn= Server.CreateObject("ADODB.Connection") connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(""&db"") conn.Open connstr strURL = "http://" & request.servervariables("server_name") & _left(request.servervariables("script_name"),len(request.servervariables("SCRIPT_NAME"))-len("/rss.asp"))''获取当前域名,其中rss.asp为你的文件名 sql="select top 10 * from [数据表名] order by id desc"''根据自己实际修改 set rs=server.createobject("adodb.recordset") rs.open sql,conn,1,1 response.contenttype="text/xml" response.write "<?xml version=""1.0"" encoding=""gb2312"" ?>" & vbcrlf ''response.write "<?xml-stylesheet type=""text/xsl"" href=""rss.xsl"" version=""1.0"" ?>" & vbcrlf ''此句即增加xml的样式表 response.write "<rss version=""2.0"">" & vbcrlf response.write "<channel>" & vbcrlf response.write "<title>海波吧 RSS feed</title>" & vbcrlf response.write "<link>" & strURL & "</link>" & vbcrlf response.write "<language>zh-cn</language>" & vbcrlf response.write "<copyright>An RSS feed for 海波吧(Www.haibor8.cn)</copyright>" & vbcrlf while not rs.eof response.write "<item>" & vbcrlf response.write "<title><![CDATA[" & rs("标题") & "]]></title>" & vbcrlf response.write "<link>"&strURL& rs("路径") "</link>" & vbcrlf response.write "<description><![CDATA[" & rs("摘要或内容") & "<br /><br />[<a href="""&strURL& rs("评论URL") """>对“"& rs("标题") "”发表评论</a>]<br /><br />]]></description>" & vbcrlf response.write "<pubDate>" & return_RFC822_Date(rs("时间"),"GMT") & "</pubDate>" & vbcrlf response.write "</item>" & vbcrlf rs.movenext wend response.write "</channel>" & vbcrlf response.write "</rss>" & vbcrlf rs.close set rs=nothing ''关闭数据库 conn.close set conn=nothing ''时间转换函数 Function return_RFC822_Date(byVal myDate, byVal TimeZone) Dim myDay, myDays, myMonth, myYear Dim myHours, myMinutes, mySeconds myDate = CDate(myDate) myDay = EnWeekDayName(myDate) myDays = Right("00" & Day(myDate),2) myMonth = EnMonthName(myDate) myYear = Year(myDate) myHours = Right("00" & Hour(myDate),2) myMinutes = Right("00" & Minute(myDate),2) mySeconds = Right("00" & Second(myDate),2) return_RFC822_Date = myDay", "& _ myDays" "& _ myMonth" "& _ myYear" "& _ myHours":"& _ myMinutes":"& _ mySeconds" "& _ " " & TimeZone End Function ''星期转换函数 Function EnWeekDayName(InputDate) Dim Result Select Case WeekDay(InputDate,1) Case 1:Result="Sun" Case 2:Result="Mon" Case 3:Result="Tue" Case 4:Result="Wed" Case 5:Result="Thu" Case 6:Result="Fri" Case 7:Result="Sat" End Select EnWeekDayName = Result End Function ''月份转换函数 Function EnMonthName(InputDate) Dim Result Select Case Month(InputDate) Case 1:Result="Jan" Case 2:Result="Feb" Case 3:Result="Mar" Case 4:Result="Apr" Case 5:Result="May" Case 6:Result="Jun" Case 7:Result="Jul" Case 8:Result="Aug" Case 9:Result="Sep" Case 10:Result="Oct" Case 11:Result="Nov" Case 12:Result="Dec" End Select EnMonthName = Result End Function %>
把以上代码保存为rss.asp文件,修改其中相应的数据库表字段后,即可成功输出RSS格式的XML文档。现在你可以预览以下你做好的rss文件了,是不是效果出来了,纯代码亦可参考这里。当然,仅仅到这里,别人还是无法订阅你的博客RSS,你必须发布出去,别人才可以订阅。
这里,我推荐大家使用Feedsky。Feedsky是一家Feed管理服务商,我们提供给Blogger(博客)、网站(Website)和商业出版等内容出版者在线的服务平台,帮助他们加强Feed的优化和传播管理。我们提供跟踪系统来追踪Feed被传播的渠道,例如阅读器、网站、新闻组、博客、Email和手机等,并最终帮助内容提供者通过这些传播渠道获取收益。Feedsky会处理您的Feed格式,使您的Feed能够自动适应各种RSS格式以及各种阅读器,同时我们会帮助您建立一个面向您读者的订阅引导页面,我们还会帮您统计每天、每周和每月的读者数量、他们使用的阅读器种类及文章点击数。