From edb1262d600177adc309b852984f63e1df4e48af Mon Sep 17 00:00:00 2001 From: Timendum Date: Fri, 7 Sep 2018 10:19:39 +0200 Subject: [PATCH] [nbc] unescape url before sending (close #17374) --- youtube_dl/extractor/nbc.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/youtube_dl/extractor/nbc.py b/youtube_dl/extractor/nbc.py index c843f8649..25c7e3a17 100644 --- a/youtube_dl/extractor/nbc.py +++ b/youtube_dl/extractor/nbc.py @@ -7,6 +7,7 @@ import re from .common import InfoExtractor from .theplatform import ThePlatformIE from .adobepass import AdobePassIE +from ..compat import compat_urllib_parse_unquote from ..utils import ( find_xpath_attr, smuggle_url, @@ -75,6 +76,11 @@ class NBCIE(AdobePassIE): 'url': 'https://www.nbc.com/classic-tv/charles-in-charge/video/charles-in-charge-pilot/n3310', 'only_matching': True, }, + { + # Percent escaped url + 'url': 'https://www.nbc.com/up-all-night/video/day-after-valentine%27s-day/n2189', + 'only_matching': True, + } ] def _real_extract(self, url): @@ -82,7 +88,7 @@ class NBCIE(AdobePassIE): permalink = 'http' + permalink response = self._download_json( 'https://api.nbc.com/v3/videos', video_id, query={ - 'filter[permalink]': permalink, + 'filter[permalink]': compat_urllib_parse_unquote(permalink), 'fields[videos]': 'description,entitlement,episodeNumber,guid,keywords,seasonNumber,title,vChipRating', 'fields[shows]': 'shortTitle', 'include': 'show.shortTitle',