[crunchyroll] Force Accept-Language to any for all requests (Closes #6797)
This commit is contained in:
		| @@ -31,7 +31,23 @@ from ..aes import ( | ||||
| ) | ||||
|  | ||||
|  | ||||
| class CrunchyrollIE(InfoExtractor): | ||||
| class CrunchyrollBaseIE(InfoExtractor): | ||||
|     def _download_webpage(self, url_or_request, video_id, note=None, errnote=None, fatal=True, tries=1, timeout=5, encoding=None): | ||||
|         request = (url_or_request if isinstance(url_or_request, compat_urllib_request.Request) | ||||
|                    else compat_urllib_request.Request(url_or_request)) | ||||
|         # Accept-Language must be set explicitly to accept any language to avoid issues | ||||
|         # similar to https://github.com/rg3/youtube-dl/issues/6797. | ||||
|         # Along with IP address Crunchyroll uses Accept-Language to guess whether georestriction | ||||
|         # should be imposed or not (from what I can see it just takes the first language | ||||
|         # ignoring the priority and requires it to correspond the IP). By the way this causes | ||||
|         # Crunchyroll to not work in georestriction cases in some browsers that don't place | ||||
|         # the locale lang first in header. However allowing any language seems to workaround the issue. | ||||
|         request.add_header('Accept-Language', '*') | ||||
|         return super(CrunchyrollBaseIE, self)._download_webpage( | ||||
|             request, video_id, note, errnote, fatal, tries, timeout, encoding) | ||||
|  | ||||
|  | ||||
| class CrunchyrollIE(CrunchyrollBaseIE): | ||||
|     _VALID_URL = r'https?://(?:(?P<prefix>www|m)\.)?(?P<url>crunchyroll\.(?:com|fr)/(?:media(?:-|/\?id=)|[^/]*/[^/?&]*?)(?P<video_id>[0-9]+))(?:[/?&]|$)' | ||||
|     _NETRC_MACHINE = 'crunchyroll' | ||||
|     _TESTS = [{ | ||||
| @@ -330,7 +346,7 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text | ||||
|         } | ||||
|  | ||||
|  | ||||
| class CrunchyrollShowPlaylistIE(InfoExtractor): | ||||
| class CrunchyrollShowPlaylistIE(CrunchyrollBaseIE): | ||||
|     IE_NAME = "crunchyroll:playlist" | ||||
|     _VALID_URL = r'https?://(?:(?P<prefix>www|m)\.)?(?P<url>crunchyroll\.com/(?!(?:news|anime-news|library|forum|launchcalendar|lineup|store|comics|freetrial|login))(?P<id>[\w\-]+))/?$' | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․