为博客添加rss订阅代码(asp)

来源:百度文库 编辑:神马文学网 时间:2024/04/28 07:35:16

为博客添加rss订阅代码(asp)

author:Flymorn Source:飘易博客
Categories:Asp编程 PostTime:2008-2-21 15:29:09 正 文:
    如今越来越多的人开始写起了博客,博客应该是个性张扬的,应该反应博客主人对生活的某种认知,要以原创的内容为主。只有写出了个性,写出有价值的内容的博客才是可看的博客。在发表了一篇文章后,如何让别人第一时间知道呢?RSS订阅功能就可以实现了。

 

    比如国内知名的博客,新浪博客、搜狐博客、网易博客、BLOGBUS、MSN、WordPress等博客系统均有RSS订阅功能。RSS订阅是构成良好的博客、用户互动的一个体现。这些博客自身都带有RSS订阅功能,只要在后台简单的设置一下就可以让用户订阅RSS内容了。

 

    而对于一些还没有RSS功能的博客,或者是自己写出来的博客程序,如飘易博客就是flymorn采用asp语言写的一个博客程序。之前飘易博客并没有增加RSS订阅功能。虽然说,咱的博客刚开张没多久,也不确定有多少人会订阅本博客,但我相信,只要是用心写的博客,就会有用户来订阅你的博客。

 

    所以我便开始为飘易博客增加RSS订阅功能,演示地址为:http://www.piaoyi.org/rss.asp,ASP代码如下:

 


<%
''连接数据库
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 "" & vbcrlf   
 ''response.write "" & vbcrlf   ''此句即增加xml的样式表
 response.write "" & vbcrlf   
 response.write "" & vbcrlf   
 response.write "飘易博客 RSS feed" & vbcrlf   
 response.write "" & strURL & "" & vbcrlf   
 response.write "zh-cn" & vbcrlf   
 response.write "An RSS feed for 飘易博客(Www.Piaoyi.Org)" & vbcrlf    
while not rs.eof   
 response.write "" & vbcrlf   
 response.write "<![CDATA[" & rs("标题") & "]]>" & vbcrlf   
 response.write ""&strURL& rs("路径") &"" & vbcrlf    
 response.write "[对“"& rs("标题") &"”发表评论]]]>" & vbcrlf   
 response.write "" & return_RFC822_Date(rs("时间"),"GMT") & "" & vbcrlf   
 response.write "
" & vbcrlf   
rs.movenext   
wend   
 response.write "
" & vbcrlf   
 response.write "" & 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格式以及各种阅读器,同时我们会帮助您建立一个面向您读者的订阅引导页面,我们还会帮您统计每天、每周和每月的读者数量、他们使用的阅读器种类及文章点击数。

 

    目前,很多博客都采用了Feedsky作为他们的Feed管理服务提供者,如飘易博客:http://feed.piaoyi.org/,月光博客:http://feed.williamlong.info/,SEO网站优化推广-David Yin:http://feed.feedsky.com/seoseo等等都使用了Feedsky提供的Feed服务。有兴趣的朋友可以尝试尝试。
作者:Flymorn
来源:飘易博客
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。