This service tests the validity of an RSS 2.0 feed, checking to see that it follows the rules of the RSS specification. For advice from the RSS Advisory Board on how to implement RSS and handle issues such as enclosures and HTML encoding, read the RSS Best Practices Profile. This checker is also a validator of Atom and RSS 1.0 feeds.
Use this tester regularly to ensure that your RSS feed continues to work well in the wide audience of RSS readers, podcast clients and other software that supports the format.
<type 'exceptions.UnicodeDecodeError'> | Python 2.7.18: /usr/bin/python Sat Aug 2 17:23:17 2025 |
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
/var/www/www.rssboard.org/html/rss-validator/check.cgi in <module>() |
344 print '%s: %s\r\n' % (header, value), |
345 print |
=> 346 for output in checker_app(os.environ, start_response): |
347 print output.decode('utf-8') |
348 else: |
output = '<div class="specialmessage">\n<p>It looks like th...the address of your feed to validate.</p>\n</div>\n', checker_app = <function checker_app>, os = <module 'os' from '/usr/lib64/python2.7/os.pyc'>, os.environ = {'CONTEXT_DOCUMENT_ROOT': '/var/www/www.rssboard...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, start_response = <function start_response> |
/var/www/www.rssboard.org/html/rss-validator/check.cgi in checker_app(environ={'CONTEXT_DOCUMENT_ROOT': '/var/www/www.rssboard...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, start_response=<function start_response>) |
300 if msc == Error: |
301 from feedvalidator.logging import ObsoleteNamespace |
=> 302 if len(output.getErrors())==1 and \ |
=> 303 isinstance(output.data[0],ObsoleteNamespace): |
304 yield applyTemplate('notsupported.tmpl') |
builtin len = <built-in function len>, output = [<feedvalidator.logging.HttpError instance at 0x...ing.UndefinedElement instance at 0x7f54927ef820>], output.getErrors = <bound method Formatter.getErrors of [<feedvalid...ng.UndefinedElement instance at 0x7f54927ef820>]>, builtin isinstance = <built-in function isinstance>, output.data = [<feedvalidator.logging.HttpError instance>, <feedvalidator.logging.UnexpectedContentType instance>, <feedvalidator.logging.UndefinedElement instance>], ObsoleteNamespace = <class feedvalidator.logging.ObsoleteNamespace> |
/var/www/www.rssboard.org/html/rss-validator/src/feedvalidator/formatter/base.py in getErrors(self=[<feedvalidator.logging.HttpError instance at 0x...ing.UndefinedElement instance at 0x7f54927ef820>]) |
17 |
18 def getErrors(self): |
=> 19 return [self.format(msg) for msg in self.data if isinstance(msg,Error)] |
20 |
21 def getWarnings(self): |
self = [<feedvalidator.logging.HttpError instance at 0x...ing.UndefinedElement instance at 0x7f54927ef820>], self.format = <bound method Formatter.format of [<feedvalidato...ng.UndefinedElement instance at 0x7f54927ef820>]>, msg = <feedvalidator.logging.HttpError instance>, self.data = [<feedvalidator.logging.HttpError instance>, <feedvalidator.logging.UnexpectedContentType instance>, <feedvalidator.logging.UndefinedElement instance>], builtin isinstance = <built-in function isinstance>, global Error = <class feedvalidator.logging.Error> |
/var/www/www.rssboard.org/html/rss-validator/src/feedvalidator/formatter/text_html.py in format(self=[<feedvalidator.logging.HttpError instance at 0x...ing.UndefinedElement instance at 0x7f54927ef820>], event=<feedvalidator.logging.HttpError instance>) |
100 rc += u'''<span class="message">%s: <code>%s</code></span>''' % (escape(self.getMessage(event)), escape(unicode(event.params['value']))) |
101 else: |
=> 102 rc += u'''<span class="message">%s</span>''' % escape(self.getMessage(event)) |
103 rc += u'''%s ''' % self.getCount(event) |
104 rc += u'''[<a title="more information about this error" href="%s.html">help</a>]</p>''' % self.getHelpURL(event) |
rc = u'<li><p>', global escape = <function escape>, self = [<feedvalidator.logging.HttpError instance at 0x...ing.UndefinedElement instance at 0x7f54927ef820>], self.getMessage = <bound method Formatter.getMessage of [<feedvali...ng.UndefinedElement instance at 0x7f54927ef820>]>, event = <feedvalidator.logging.HttpError instance> |
<type 'exceptions.UnicodeDecodeError'>: 'ascii' codec can't decode byte 0xd0 in position 32: ordinal not in range(128)
args =
('ascii', 'Server returned HTTP Error 404: \xd0\x9a\xd0\xb0\xd1\x82\xd0\xb5\xd0\xb3\xd0\xbe\xd1\x80\xd0\xb8\xd1\x8f \xd0\xbd\xd0\xb5 \xd0\xbd\xd0\xb0\xd0\xb9\xd0\xb4\xd0\xb5\xd0\xbd\xd0\xb0', 32, 33, 'ordinal not in range(128)')
encoding =
'ascii'
end =
33
message =
''
object =
'Server returned HTTP Error 404: \xd0\x9a\xd0\xb0\xd1\x82\xd0\xb5\xd0\xb3\xd0\xbe\xd1\x80\xd0\xb8\xd1\x8f \xd0\xbd\xd0\xb5 \xd0\xbd\xd0\xb0\xd0\xb9\xd0\xb4\xd0\xb5\xd0\xbd\xd0\xb0'
reason =
'ordinal not in range(128)'
start =
32