📄 rssfeed.asp
字号:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
'**************************************************************
' Software name: PowerEasy SiteWeaver
' Web: http://www.powereasy.net
' Copyright (C) 2005-2008 佛山市动易网络科技有限公司 版权所有
'**************************************************************
Response.Expires = -1
'输出RSS数据
Dim RssDOM, RssNode, RssSubNode, RssTempNode
Set RssDOM = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
RssDOM.appendChild (RssDOM.createProcessingInstruction("xml", "version=""1.0"" encoding=""gb2312"""))
RssDOM.appendChild (RssDOM.createElement("rss"))
RssDOM.documentElement.Attributes.setNamedItem(RssDOM.createNode(2, "version", "")).text = "2.0"
Set RssNode = RssDOM.createNode(1, "channel", "")
RssDOM.documentElement.appendChild (RssNode)
Set RssSubNode = RssNode.appendChild(RssDOM.createElement("title"))
RssSubNode.text = "RssRebuder"
Set RssSubNode = RssNode.appendChild(RssDOM.createElement("language"))
RssSubNode.text = "zh-cn"
Set RssTempNode = RssNode
Dim urlReceived, rootNode, ListNum, Tlength, FeedUrl, RSSVersion
Set urlReceived = CreateObject("Microsoft.XMLDOM")
urlReceived.async = False
urlReceived.Load Request
Set rootNode = urlReceived.getElementsByTagName("root")
If rootNode.length < 1 Then
Set RssSubNode = RssNode.appendChild(RssDOM.createElement("item"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("title"))
RssNode.text = "输入数据错!"
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("link"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("description"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("author"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("category"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("pubDate"))
Else
ListNum = rootNode(0).selectSingleNode("listnum").text
Tlength = rootNode(0).selectSingleNode("titlelength").text
FeedUrl = rootNode(0).selectSingleNode("feedurl").text
If ListNum = "" Or ListNum < 1 Then
ListNum = 10
Else
ListNum = CLng(ListNum)
End If
If Tlength = "" Then
Tlength = 35
Else
Tlength = CLng(Tlength)
End If
End If
Set urlReceived = Nothing
If FeedUrl = "" Then
Set RssNode = RssTempNode
Set RssSubNode = RssNode.appendChild(RssDOM.createElement("item"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("title"))
RssNode.text = "Rss源地址为空..."
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("link"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("description"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("author"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("category"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("pubDate"))
Else
Dim XmlRss, XMLDOM, i, j, oItem
On Error Resume Next
Set XmlRss = Server.CreateObject("MSXML2.ServerXMLHTTP")
XmlRss.SetTimeouts 5000, 5000, 120000, 60000
XmlRss.Open "GET", FeedUrl, False
XmlRss.Send
If Err.Number <> 0 Then
Set RssNode = RssTempNode
Set RssSubNode = RssNode.appendChild(RssDOM.createElement("item"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("title"))
RssNode.text = "服务器超时"
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("link"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("description"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("author"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("category"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("pubDate"))
Err.Clear
Else
If XmlRss.ReadyState <> 4 Or Trim(XmlRss.responseText & "") = "" Then
Set RssNode = RssTempNode
Set RssSubNode = RssNode.appendChild(RssDOM.createElement("item"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("title"))
RssNode.text = "服务器无响应"
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("link"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("description"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("author"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("category"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("pubDate"))
Else
Set XMLDOM = Server.CreateObject("microsoft.XMLDOM")
XMLDOM.async = False
XMLDOM.Load (XmlRss.responseXML)
If XMLDOM.ReadyState = 4 Then
Set rootNode = XMLDOM.documentElement
Select Case rootNode.nodename
Case "rss"
RSSVersion = rootNode.getattribute("version")
If RSSVersion = "2.0" Then
Set oItem = XMLDOM.getElementsByTagName("item")
If oItem.length < 1 Then
Set RssNode = RssTempNode
Set RssSubNode = RssNode.appendChild(RssDOM.createElement("item"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("title"))
RssNode.text = "尚未发表内容"
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("link"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("description"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("author"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("category"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("pubDate"))
Else
If oItem.length > ListNum Then
j = ListNum - 1
Else
j = oItem.length - 1
End If
For i = 0 To j
Set RssNode = RssTempNode
Set RssSubNode = RssNode.appendChild(RssDOM.createElement("item"))
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("title"))
RssNode.text = GetSubStr(oItem(i).selectSingleNode("title").text, Tlength, True)
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("link"))
RssNode.text = oItem(i).selectSingleNode("link").text
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("description"))
RssNode.text = oItem(i).selectSingleNode("description").text
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("author"))
RssNode.text = oItem(i).selectSingleNode("author").text
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("category"))
RssNode.text = oItem(i).selectSingleNode("category").text
Set RssNode = RssSubNode.appendChild(RssDOM.createElement("pubDate"))
RssNode.text = oItem(i).selectSingleNode("pubDate").text
Next
End If
Else
Response.Write "<item><title>RSS数据版本过低!</title><link /><description /><author /><category /><pubDate /></item>"
End If
Case "rdf:RDF"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -