diff --git a/youtube_dl/extractor/cda.py b/youtube_dl/extractor/cda.py index 0c3af23d5..22bc48eb8 100644 --- a/youtube_dl/extractor/cda.py +++ b/youtube_dl/extractor/cda.py @@ -18,7 +18,7 @@ from ..utils import ( class CDAIE(InfoExtractor): _VALID_URL = r'https?://(?:(?:www\.)?cda\.pl/video|ebd\.cda\.pl/[0-9]+x[0-9]+)/(?P[0-9a-z]+)' - _BASE_URL = 'http://www.cda.pl/' + _BASE_URL = 'https://www.cda.pl' _TESTS = [{ 'url': 'http://www.cda.pl/video/5749950c', 'md5': '6f844bf51b15f31fae165365707ae970', diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index e51ad71a5..392cd4873 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -644,9 +644,15 @@ class InfoExtractor(object): tokens = scraper.get_tokens(err.geturl(), std_headers['User-Agent'], cookies=cookies) except ValueError as e: raise ExtractorError('cfscrape error: %s' % e, expected=True) - cookie = url_or_request.get_header('Cookie') - cookie += '; cf_clearance=' + tokens[0]['cf_clearance'] - url_or_request = update_Request(url_or_request, headers={'Cookie': cookie}) + + cookie = 'cf_clearance=' + tokens[0]['cf_clearance'] + for c in self._downloader.cookiejar: + cookie += '; %s=%s' % (c.name, c.value) + if not isinstance(url_or_request, compat_urllib_request.Request): + self._set_cookie(compat_urlparse.urlparse(err.geturl()).netloc, 'cf_clearance', tokens[0]['cf_clearance']) + url_or_request = sanitized_Request(url_or_request, data, {'Cookie': cookie}) + else: + url_or_request = update_Request(url_or_request, headers={'Cookie': cookie}) self.to_screen('Redownload webpage') try: return self._downloader.urlopen(url_or_request)