Detect Websense censorship (Fixes #2670)

This commit is contained in:
Philipp Hagemeister 2014-04-03 06:07:35 +02:00
parent aea6e7fc3c
commit 2410c43d83

View file

@ -252,6 +252,17 @@ def _download_webpage_handle(self, url_or_request, video_id, note=None, errnote=
outf.write(webpage_bytes) outf.write(webpage_bytes)
content = webpage_bytes.decode(encoding, 'replace') content = webpage_bytes.decode(encoding, 'replace')
if (u'<title>Access to this site is blocked</title>' in content and
u'Websense' in content[:512]):
msg = u'Access to URL %s has been blocked by Websense filtering software in your network.' % urlh.geturl()
blocked_iframe = self._html_search_regex(
r'<iframe src="([^"]+)"', content,
u'Websense information URL', default=None)
if blocked_iframe:
msg += u' Visit %s for more details' % blocked_iframe
raise ExtractorError(msg, expected=True)
return (content, urlh) return (content, urlh)
def _download_webpage(self, url_or_request, video_id, note=None, errnote=None, fatal=True): def _download_webpage(self, url_or_request, video_id, note=None, errnote=None, fatal=True):