问题
I'm getting weird corrupted looking text / data on random occasions when downloading from the BBC's RSS weather feed. Strangely, this happens if I directly load from the web rather than download as well. Could it be a memory problem? It is so random, but 70% of the time, one of the locations will be downloaded wrong.
Downloading Subs:
Public Sub DownloadWeather()
If IsConnectionAvailable() = True Then
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2657832/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Aberdeen.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2656752/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Aviemore.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2653609/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Barra.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2650752/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Dundee.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2650798/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Dumfries.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2651245/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Dingwall.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2650225/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Edinburgh.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2648579/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Glasgow.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2636239/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Harris.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2646088/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Inverness.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2655051/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Islay.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2636790/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Lewis.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2635754/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Mull.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2641108/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Oban.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2645198/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Orkney.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2640358/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Perth.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2644605/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Shetland.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2640006/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Skye.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2635881/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Thurso.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2643811/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Uist.rss")
Module_XML_Download.DownloadXML("http://open.live.bbc.co.uk/weather/feeds/en/2635199/3dayforecast.rss", My.Settings.DataMainFolder & "\" & My.Settings.DataWeatherXMLFolder & "\Ullapool.rss")
End If
End Sub
Public Sub DownloadXML(ByVal URL As String, ByVal SaveAs As String)
Try
Dim WebClient As New System.Net.WebClient()
WebClient.DownloadFile(URL, SaveAs)
If My.Settings.LogXMLDownloaded = True Then
Module_Log.WriteLog(Now.ToString & " XML Downloaded: " & SaveAs)
End If
Catch _Exception As Exception
' Error
' MsgBox("Exception caught in process: {0}", _Exception.ToString())
If My.Settings.LogXMLDownloadError = True Then
Module_Log.WriteLog(Now.ToString & " XML DL Error: " & _Exception.Message)
End If
End Try
End Sub
The weird garbage data that appears, randomly on some of the location.rss files:
‹ Í–áNÛ:Ç¿OÚ;EºÒ¦µ±“ÚEiÑ…‰Mº Mƒ±ÈMÜÆ"±#Û¡ë[íöd÷8MK i_šÄ>>ÿÿ9þ9Mzð³*ášk#”œxO=à2S¹‹‰÷ýüx8ö¦oߤÚÀPifU5ñ
kë„åré/#_é )É¿8éu®pÕÐõP¾¾õn´CÔF%€4+˜”¼lðÑ &¥WPh>ßæS5—~)®¹?›e~¦üæŠ,9³×dÎyn—$ÜßÇ£$ÊÙj®4Ϙ±~««y9ñ/çØUÍ'«ëRdÌ¢‚°ÈÆ„¶äÓÃÃ#ø±Ö€!w 3|.™Y¨å ¾KayÿasU¥d½´Ëãê˜ö:²ë½³œ’6´[–s“iQ;sÓhˆÅÀ¼/ÞiÃ\«
z& dV6n7a¹²¼ª¹f¶Ñ˜Ìa)ðGHÌSµÕ§¤¯¶ñÍä¢a>å8¿}è&3U¯´Xvz´¹KàÝÑ{8ÔÂ
SàU±Ü¹uFŽ”®•n¥8‡{Ûa¹®ay.\ +/8¦°ˆ««¸Âò!ç–‰Ò¤äÆ@ç¨nfŸ˜åÓc-P8ÅŽ…4ˆ ’
”!| ¥)ÙvëDuSÖËí:fjt¹Ùvc±öÌ•*îl=õ#?¤i]"2%ñWæâZä
¶ ]®Ç¸¼Tò²t_Î$ý…˜§Ä‰lŸG.\ŠÜÓa’õÝv¢àm‹ÝLwÛuôÛ–bª»-Ä}@h8qËà¸õ§ì§¨š
ÎoxLp~ÿ:‚wqøû×ñ{8r7d¿Ø‹\ÄNŸŸ\õú™Ð»µ÷ÉÜßàqƒøáŽ×'и¬ œ©ÆÈ“AÂËU7VãËe¯êb ˆ™(…ÅŽ]p½‚ÏJåøª¹1k”Õl _šJämØhü2xß„¹J ÂU–ÍZñÄñyÖH-®¥qÄpxvÞŽŽG5ÄC¹¡ûŽþóO®\4ß-æ+fv‚žxsVî=i‹†tèT†4ô|£åSJQ.qz.}O¬ýKIj%¤Æ±?Þ±ÒážÆ£ý(%·æ·èÞÐz/¹gnSŸÈ.]³Afw´F#~vƒ?g·ïïvûwÙ}€ÚøÙÔî÷©
¡6Ú¥6þ©
þjùbÌîµÑÇ
6|fûÿð}í{´ãÛÐŽ£>´Á#лЎž-mA
^ Úð´ÖkA‹lÛOüÔ}lãõí›ÿÖ¨Œ
回答1:
I've just seen the same exact thing for the first time when requesting from BBC Weather RSS feeds from the code in my website.
I just added the website which was using the BBC feeds to CloudFlare but I can't see how that might be related.
I added a random query string to the end of the BBC RSS feed URL so my URL looked like this:
http://open.live.bbc.co.uk/weather/feeds/en/2634135/3dayforecast.rss?123
And the problem immediately was resolved.
Note that if I manually requested the feed directly in my own browser, it was working fine.
来源:https://stackoverflow.com/questions/16480631/why-am-i-sometimes-downloading-garbage-data-from-bbc-weather-rss-feeds