我有一个间歇性的问题,有一个sub来读取twitter rss feed。
95%的时间,它表现良好,没有问题。剩下的5%它给了我一个400 Bad Request错误(即使在Twitter上的rss feed很好,这表明问题出现在我的最后,而不是Twitter。)
代码:
Sub RetrieveStories()
'Create a new xmldocument and load the xml into it
Dim rssDoc As New XmlDocument
rssDoc.Load("http://twitter.com/statuses/user_timeline/athersgeo.rss")
'Select each item and put it into our array
Dim nodes As XmlNodeList = rssDoc.SelectNodes("rss/channel/item")
Dim i as integer = 1
divMRSS.InnerHtml = ""
Dim TweetText as string
Dim TweetURL as string
Dim UNameLen as integer = 15
For Each node As XmlNode In nodes
'Using xpath we can acess all the data we need in each node
TweetURL = node.SelectSingleNode("link").InnerText
TweetText = Mid(node.SelectSingleNode("title").InnerText,UNameLen)
TweetText = Linkify(TweetText)
TweetText = Atify(TweetText)
TweetText = Hashify(TweetText)
TweetText = "<a href=""http://twitter.com/athersgeo"" target=""_blank"">@athersgeo</a>: " & TweetText
divMRSS.InnerHtml += "" & TweetText & "<BR><a href=""" & TweetURL & """ target=""_blank"">" & RelativeTime(node.SelectSingleNode("pubDate").InnerText) & "</a><BR><HR>"
i = i + 1
If i = 5 then
Exit For
End if
Next
End Sub
有什么东西我没有关闭/处理那些吮吸连接的东西吗?或者我刚刚编写了令人眼花缭乱的东西? (这不是第一次!)
答案 0 :(得分:1)
400 Bad Request与HTTP相关联。从您的代码来看,似乎唯一的HTTP请求是加载xmlDocument rssDoc.Load("http://twitter.com/statuses/user_timeline/athersgeo.rss")
。
但是你提到 - Twitter上的RSS提要很好 - 你怎么能确定呢?
正如本博客所述,您可以使用Fiddler探索您发送到Twitter的请求 - http://blogs.msdn.com/b/hakane/archive/2009/06/30/investigating-http-400-bad-request-errors-in-web-access.aspx