mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	Use urlencode_postdata across the codebase
This commit is contained in:
		| @@ -6,16 +6,14 @@ import hashlib | |||||||
| import re | import re | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import ( | from ..compat import compat_str | ||||||
|     compat_str, |  | ||||||
|     compat_urllib_parse_urlencode, |  | ||||||
| ) |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     int_or_none, |  | ||||||
|     float_or_none, |  | ||||||
|     sanitized_Request, |  | ||||||
|     xpath_text, |  | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|  |     float_or_none, | ||||||
|  |     int_or_none, | ||||||
|  |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
|  |     xpath_text, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -86,7 +84,7 @@ class AtresPlayerIE(InfoExtractor): | |||||||
|         } |         } | ||||||
|  |  | ||||||
|         request = sanitized_Request( |         request = sanitized_Request( | ||||||
|             self._LOGIN_URL, compat_urllib_parse_urlencode(login_form).encode('utf-8')) |             self._LOGIN_URL, urlencode_postdata(login_form)) | ||||||
|         request.add_header('Content-Type', 'application/x-www-form-urlencoded') |         request.add_header('Content-Type', 'application/x-www-form-urlencoded') | ||||||
|         response = self._download_webpage( |         response = self._download_webpage( | ||||||
|             request, None, 'Logging in as %s' % username) |             request, None, 'Logging in as %s' % username) | ||||||
|   | |||||||
| @@ -4,15 +4,13 @@ import re | |||||||
| import itertools | import itertools | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import ( | from ..compat import compat_str | ||||||
|     compat_urllib_parse_urlencode, |  | ||||||
|     compat_str, |  | ||||||
| ) |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     int_or_none, |  | ||||||
|     float_or_none, |     float_or_none, | ||||||
|  |     int_or_none, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -58,7 +56,7 @@ class BambuserIE(InfoExtractor): | |||||||
|         } |         } | ||||||
|  |  | ||||||
|         request = sanitized_Request( |         request = sanitized_Request( | ||||||
|             self._LOGIN_URL, compat_urllib_parse_urlencode(login_form).encode('utf-8')) |             self._LOGIN_URL, urlencode_postdata(login_form)) | ||||||
|         request.add_header('Referer', self._LOGIN_URL) |         request.add_header('Referer', self._LOGIN_URL) | ||||||
|         response = self._download_webpage( |         response = self._download_webpage( | ||||||
|             request, None, 'Logging in as %s' % username) |             request, None, 'Logging in as %s' % username) | ||||||
|   | |||||||
| @@ -6,13 +6,13 @@ import re | |||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import ( | from ..compat import ( | ||||||
|     compat_urllib_parse_unquote, |     compat_urllib_parse_unquote, | ||||||
|     compat_urllib_parse_urlencode, |  | ||||||
|     compat_urllib_parse_urlparse, |     compat_urllib_parse_urlparse, | ||||||
| ) | ) | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     float_or_none, |     float_or_none, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -102,7 +102,7 @@ class CeskaTelevizeIE(InfoExtractor): | |||||||
|  |  | ||||||
|         req = sanitized_Request( |         req = sanitized_Request( | ||||||
|             'http://www.ceskatelevize.cz/ivysilani/ajax/get-client-playlist', |             'http://www.ceskatelevize.cz/ivysilani/ajax/get-client-playlist', | ||||||
|             data=compat_urllib_parse_urlencode(data)) |             data=urlencode_postdata(data)) | ||||||
|  |  | ||||||
|         req.add_header('Content-type', 'application/x-www-form-urlencoded') |         req.add_header('Content-type', 'application/x-www-form-urlencoded') | ||||||
|         req.add_header('x-addr', '127.0.0.1') |         req.add_header('x-addr', '127.0.0.1') | ||||||
|   | |||||||
| @@ -308,7 +308,7 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text | |||||||
|  |  | ||||||
|         playerdata_url = compat_urllib_parse_unquote(self._html_search_regex(r'"config_url":"([^"]+)', webpage, 'playerdata_url')) |         playerdata_url = compat_urllib_parse_unquote(self._html_search_regex(r'"config_url":"([^"]+)', webpage, 'playerdata_url')) | ||||||
|         playerdata_req = sanitized_Request(playerdata_url) |         playerdata_req = sanitized_Request(playerdata_url) | ||||||
|         playerdata_req.data = compat_urllib_parse_urlencode({'current_page': webpage_url}) |         playerdata_req.data = urlencode_postdata({'current_page': webpage_url}) | ||||||
|         playerdata_req.add_header('Content-Type', 'application/x-www-form-urlencoded') |         playerdata_req.add_header('Content-Type', 'application/x-www-form-urlencoded') | ||||||
|         playerdata = self._download_webpage(playerdata_req, video_id, note='Downloading media info') |         playerdata = self._download_webpage(playerdata_req, video_id, note='Downloading media info') | ||||||
|  |  | ||||||
|   | |||||||
| @@ -15,6 +15,7 @@ from ..utils import ( | |||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|     smuggle_url, |     smuggle_url, | ||||||
|     unsmuggle_url, |     unsmuggle_url, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -174,7 +175,7 @@ class DCNSeasonIE(InfoExtractor): | |||||||
|         data['show_id'] = show_id |         data['show_id'] = show_id | ||||||
|         request = sanitized_Request( |         request = sanitized_Request( | ||||||
|             'http://admin.mangomolo.com/analytics/index.php/plus/show', |             'http://admin.mangomolo.com/analytics/index.php/plus/show', | ||||||
|             compat_urllib_parse_urlencode(data), |             urlencode_postdata(data), | ||||||
|             { |             { | ||||||
|                 'Origin': 'http://www.dcndigital.ae', |                 'Origin': 'http://www.dcndigital.ae', | ||||||
|                 'Content-Type': 'application/x-www-form-urlencoded' |                 'Content-Type': 'application/x-www-form-urlencoded' | ||||||
|   | |||||||
| @@ -6,7 +6,6 @@ import itertools | |||||||
| from .amp import AMPIE | from .amp import AMPIE | ||||||
| from ..compat import ( | from ..compat import ( | ||||||
|     compat_HTTPError, |     compat_HTTPError, | ||||||
|     compat_urllib_parse_urlencode, |  | ||||||
|     compat_urlparse, |     compat_urlparse, | ||||||
| ) | ) | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
| @@ -14,6 +13,7 @@ from ..utils import ( | |||||||
|     clean_html, |     clean_html, | ||||||
|     int_or_none, |     int_or_none, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -50,7 +50,7 @@ class DramaFeverBaseIE(AMPIE): | |||||||
|         } |         } | ||||||
|  |  | ||||||
|         request = sanitized_Request( |         request = sanitized_Request( | ||||||
|             self._LOGIN_URL, compat_urllib_parse_urlencode(login_form).encode('utf-8')) |             self._LOGIN_URL, urlencode_postdata(login_form)) | ||||||
|         response = self._download_webpage( |         response = self._download_webpage( | ||||||
|             request, None, 'Logging in as %s' % username) |             request, None, 'Logging in as %s' % username) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -5,13 +5,13 @@ import hashlib | |||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import ( | from ..compat import ( | ||||||
|     compat_urllib_parse_urlencode, |  | ||||||
|     compat_urllib_request, |     compat_urllib_request, | ||||||
|     compat_urlparse, |     compat_urlparse, | ||||||
| ) | ) | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -56,7 +56,7 @@ class FC2IE(InfoExtractor): | |||||||
|             'Submit': ' Login ', |             'Submit': ' Login ', | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         login_data = compat_urllib_parse_urlencode(login_form_strs).encode('utf-8') |         login_data = urlencode_postdata(login_form_strs) | ||||||
|         request = sanitized_Request( |         request = sanitized_Request( | ||||||
|             'https://secure.id.fc2.com/index.php?mode=login&switch_language=en', login_data) |             'https://secure.id.fc2.com/index.php?mode=login&switch_language=en', login_data) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -3,11 +3,11 @@ from __future__ import unicode_literals | |||||||
| import re | import re | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import compat_urllib_parse_urlencode |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     remove_end, |     remove_end, | ||||||
|     HEADRequest, |     HEADRequest, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -123,7 +123,7 @@ class GDCVaultIE(InfoExtractor): | |||||||
|             'password': password, |             'password': password, | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         request = sanitized_Request(login_url, compat_urllib_parse_urlencode(login_form)) |         request = sanitized_Request(login_url, urlencode_postdata(login_form)) | ||||||
|         request.add_header('Content-Type', 'application/x-www-form-urlencoded') |         request.add_header('Content-Type', 'application/x-www-form-urlencoded') | ||||||
|         self._download_webpage(request, display_id, 'Logging in') |         self._download_webpage(request, display_id, 'Logging in') | ||||||
|         start_page = self._download_webpage(webpage_url, display_id, 'Getting authenticated video page') |         start_page = self._download_webpage(webpage_url, display_id, 'Getting authenticated video page') | ||||||
|   | |||||||
| @@ -3,11 +3,11 @@ from __future__ import unicode_literals | |||||||
| import base64 | import base64 | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import compat_urllib_parse_urlencode |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     HEADRequest, |     HEADRequest, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -35,7 +35,7 @@ class HotNewHipHopIE(InfoExtractor): | |||||||
|                 r'"contentUrl" content="(.*?)"', webpage, 'content URL') |                 r'"contentUrl" content="(.*?)"', webpage, 'content URL') | ||||||
|             return self.url_result(video_url, ie='Youtube') |             return self.url_result(video_url, ie='Youtube') | ||||||
|  |  | ||||||
|         reqdata = compat_urllib_parse_urlencode([ |         reqdata = urlencode_postdata([ | ||||||
|             ('mediaType', 's'), |             ('mediaType', 's'), | ||||||
|             ('mediaId', video_id), |             ('mediaId', video_id), | ||||||
|         ]) |         ]) | ||||||
|   | |||||||
| @@ -4,15 +4,13 @@ import re | |||||||
| import json | import json | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import ( | from ..compat import compat_str | ||||||
|     compat_str, |  | ||||||
|     compat_urllib_parse_urlencode, |  | ||||||
| ) |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     clean_html, |     clean_html, | ||||||
|     int_or_none, |     int_or_none, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -36,7 +34,7 @@ class LyndaBaseIE(InfoExtractor): | |||||||
|             'stayPut': 'false' |             'stayPut': 'false' | ||||||
|         } |         } | ||||||
|         request = sanitized_Request( |         request = sanitized_Request( | ||||||
|             self._LOGIN_URL, compat_urllib_parse_urlencode(login_form).encode('utf-8')) |             self._LOGIN_URL, urlencode_postdata(login_form)) | ||||||
|         login_page = self._download_webpage( |         login_page = self._download_webpage( | ||||||
|             request, None, 'Logging in as %s' % username) |             request, None, 'Logging in as %s' % username) | ||||||
|  |  | ||||||
| @@ -65,7 +63,7 @@ class LyndaBaseIE(InfoExtractor): | |||||||
|                     'stayPut': 'false', |                     'stayPut': 'false', | ||||||
|                 } |                 } | ||||||
|                 request = sanitized_Request( |                 request = sanitized_Request( | ||||||
|                     self._LOGIN_URL, compat_urllib_parse_urlencode(confirm_form).encode('utf-8')) |                     self._LOGIN_URL, urlencode_postdata(confirm_form)) | ||||||
|                 login_page = self._download_webpage( |                 login_page = self._download_webpage( | ||||||
|                     request, None, |                     request, None, | ||||||
|                     'Confirming log in and log out from another device') |                     'Confirming log in and log out from another device') | ||||||
|   | |||||||
| @@ -6,13 +6,13 @@ from .common import InfoExtractor | |||||||
| from ..compat import ( | from ..compat import ( | ||||||
|     compat_parse_qs, |     compat_parse_qs, | ||||||
|     compat_urllib_parse_unquote, |     compat_urllib_parse_unquote, | ||||||
|     compat_urllib_parse_urlencode, |  | ||||||
| ) | ) | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     determine_ext, |     determine_ext, | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     int_or_none, |     int_or_none, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -117,7 +117,7 @@ class MetacafeIE(InfoExtractor): | |||||||
|             'filters': '0', |             'filters': '0', | ||||||
|             'submit': "Continue - I'm over 18", |             'submit': "Continue - I'm over 18", | ||||||
|         } |         } | ||||||
|         request = sanitized_Request(self._FILTER_POST, compat_urllib_parse_urlencode(disclaimer_form)) |         request = sanitized_Request(self._FILTER_POST, urlencode_postdata(disclaimer_form)) | ||||||
|         request.add_header('Content-Type', 'application/x-www-form-urlencoded') |         request.add_header('Content-Type', 'application/x-www-form-urlencoded') | ||||||
|         self.report_age_confirmation() |         self.report_age_confirmation() | ||||||
|         self._download_webpage(request, None, False, 'Unable to confirm age') |         self._download_webpage(request, None, False, 'Unable to confirm age') | ||||||
|   | |||||||
| @@ -2,12 +2,12 @@ | |||||||
| from __future__ import unicode_literals | from __future__ import unicode_literals | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import compat_urllib_parse_urlencode |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     int_or_none, |     int_or_none, | ||||||
|     parse_duration, |     parse_duration, | ||||||
|     parse_filesize, |     parse_filesize, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -39,7 +39,7 @@ class MinhatecaIE(InfoExtractor): | |||||||
|         ] |         ] | ||||||
|         req = sanitized_Request( |         req = sanitized_Request( | ||||||
|             'http://minhateca.com.br/action/License/Download', |             'http://minhateca.com.br/action/License/Download', | ||||||
|             data=compat_urllib_parse_urlencode(token_data)) |             data=urlencode_postdata(token_data)) | ||||||
|         req.add_header('Content-Type', 'application/x-www-form-urlencoded') |         req.add_header('Content-Type', 'application/x-www-form-urlencoded') | ||||||
|         data = self._download_json( |         data = self._download_json( | ||||||
|             req, video_id, note='Downloading metadata') |             req, video_id, note='Downloading metadata') | ||||||
|   | |||||||
| @@ -5,11 +5,11 @@ import json | |||||||
| import re | import re | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import compat_urllib_parse_urlencode |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     int_or_none, |     int_or_none, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -77,7 +77,7 @@ class MoeVideoIE(InfoExtractor): | |||||||
|             ], |             ], | ||||||
|         ] |         ] | ||||||
|         r_json = json.dumps(r) |         r_json = json.dumps(r) | ||||||
|         post = compat_urllib_parse_urlencode({'r': r_json}) |         post = urlencode_postdata({'r': r_json}) | ||||||
|         req = sanitized_Request(self._API_URL, post) |         req = sanitized_Request(self._API_URL, post) | ||||||
|         req.add_header('Content-type', 'application/x-www-form-urlencoded') |         req.add_header('Content-type', 'application/x-www-form-urlencoded') | ||||||
|  |  | ||||||
|   | |||||||
| @@ -5,11 +5,11 @@ import os.path | |||||||
| import re | import re | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import compat_urllib_parse_urlencode |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     remove_start, |     remove_start, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -88,7 +88,7 @@ class MonikerIE(InfoExtractor): | |||||||
|             fields = re.findall(r'type="hidden" name="(.+?)"\s* value="?(.+?)">', orig_webpage) |             fields = re.findall(r'type="hidden" name="(.+?)"\s* value="?(.+?)">', orig_webpage) | ||||||
|             data = dict(fields) |             data = dict(fields) | ||||||
|  |  | ||||||
|             post = compat_urllib_parse_urlencode(data) |             post = urlencode_postdata(data) | ||||||
|             headers = { |             headers = { | ||||||
|                 b'Content-Type': b'application/x-www-form-urlencoded', |                 b'Content-Type': b'application/x-www-form-urlencoded', | ||||||
|             } |             } | ||||||
|   | |||||||
| @@ -3,10 +3,10 @@ from __future__ import unicode_literals | |||||||
| import re | import re | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import compat_urllib_parse_urlencode |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -58,7 +58,7 @@ class MooshareIE(InfoExtractor): | |||||||
|         } |         } | ||||||
|  |  | ||||||
|         request = sanitized_Request( |         request = sanitized_Request( | ||||||
|             'http://mooshare.biz/%s' % video_id, compat_urllib_parse_urlencode(download_form)) |             'http://mooshare.biz/%s' % video_id, urlencode_postdata(download_form)) | ||||||
|         request.add_header('Content-Type', 'application/x-www-form-urlencoded') |         request.add_header('Content-Type', 'application/x-www-form-urlencoded') | ||||||
|  |  | ||||||
|         self._sleep(5, video_id) |         self._sleep(5, video_id) | ||||||
|   | |||||||
| @@ -1,8 +1,10 @@ | |||||||
| from __future__ import unicode_literals | from __future__ import unicode_literals | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import compat_urllib_parse_urlencode | from ..utils import ( | ||||||
| from ..utils import sanitized_Request |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
|  | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| class NFBIE(InfoExtractor): | class NFBIE(InfoExtractor): | ||||||
| @@ -40,7 +42,7 @@ class NFBIE(InfoExtractor): | |||||||
|  |  | ||||||
|         request = sanitized_Request( |         request = sanitized_Request( | ||||||
|             'https://www.nfb.ca/film/%s/player_config' % video_id, |             'https://www.nfb.ca/film/%s/player_config' % video_id, | ||||||
|             compat_urllib_parse_urlencode({'getConfig': 'true'}).encode('ascii')) |             urlencode_postdata({'getConfig': 'true'})) | ||||||
|         request.add_header('Content-Type', 'application/x-www-form-urlencoded') |         request.add_header('Content-Type', 'application/x-www-form-urlencoded') | ||||||
|         request.add_header('X-NFB-Referer', 'http://www.nfb.ca/medias/flash/NFBVideoPlayer.swf') |         request.add_header('X-NFB-Referer', 'http://www.nfb.ca/medias/flash/NFBVideoPlayer.swf') | ||||||
|  |  | ||||||
|   | |||||||
| @@ -18,6 +18,7 @@ from ..utils import ( | |||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|     xpath_text, |     xpath_text, | ||||||
|     determine_ext, |     determine_ext, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -100,7 +101,7 @@ class NiconicoIE(InfoExtractor): | |||||||
|             'mail': username, |             'mail': username, | ||||||
|             'password': password, |             'password': password, | ||||||
|         } |         } | ||||||
|         login_data = compat_urllib_parse_urlencode(login_form_strs).encode('utf-8') |         login_data = urlencode_postdata(login_form_strs) | ||||||
|         request = sanitized_Request( |         request = sanitized_Request( | ||||||
|             'https://secure.nicovideo.jp/secure/login', login_data) |             'https://secure.nicovideo.jp/secure/login', login_data) | ||||||
|         login_results = self._download_webpage( |         login_results = self._download_webpage( | ||||||
|   | |||||||
| @@ -8,7 +8,6 @@ import hashlib | |||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import ( | from ..compat import ( | ||||||
|     compat_str, |     compat_str, | ||||||
|     compat_urllib_parse_urlencode, |  | ||||||
|     compat_urlparse, |     compat_urlparse, | ||||||
| ) | ) | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
| @@ -18,6 +17,7 @@ from ..utils import ( | |||||||
|     float_or_none, |     float_or_none, | ||||||
|     parse_iso8601, |     parse_iso8601, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -75,7 +75,7 @@ class NocoIE(InfoExtractor): | |||||||
|             'username': username, |             'username': username, | ||||||
|             'password': password, |             'password': password, | ||||||
|         } |         } | ||||||
|         request = sanitized_Request(self._LOGIN_URL, compat_urllib_parse_urlencode(login_form)) |         request = sanitized_Request(self._LOGIN_URL, urlencode_postdata(login_form)) | ||||||
|         request.add_header('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8') |         request.add_header('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8') | ||||||
|  |  | ||||||
|         login = self._download_json(request, None, 'Logging in as %s' % username) |         login = self._download_json(request, None, 'Logging in as %s' % username) | ||||||
|   | |||||||
| @@ -5,10 +5,10 @@ import re | |||||||
| import os.path | import os.path | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import compat_urllib_parse_urlencode |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -40,7 +40,7 @@ class PlayedIE(InfoExtractor): | |||||||
|  |  | ||||||
|         self._sleep(2, video_id) |         self._sleep(2, video_id) | ||||||
|  |  | ||||||
|         post = compat_urllib_parse_urlencode(data) |         post = urlencode_postdata(data) | ||||||
|         headers = { |         headers = { | ||||||
|             b'Content-Type': b'application/x-www-form-urlencoded', |             b'Content-Type': b'application/x-www-form-urlencoded', | ||||||
|         } |         } | ||||||
|   | |||||||
| @@ -8,7 +8,6 @@ import collections | |||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import ( | from ..compat import ( | ||||||
|     compat_str, |     compat_str, | ||||||
|     compat_urllib_parse_urlencode, |  | ||||||
|     compat_urlparse, |     compat_urlparse, | ||||||
| ) | ) | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
| @@ -17,6 +16,7 @@ from ..utils import ( | |||||||
|     parse_duration, |     parse_duration, | ||||||
|     qualities, |     qualities, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -76,7 +76,7 @@ class PluralsightIE(PluralsightBaseIE): | |||||||
|             post_url = compat_urlparse.urljoin(self._LOGIN_URL, post_url) |             post_url = compat_urlparse.urljoin(self._LOGIN_URL, post_url) | ||||||
|  |  | ||||||
|         request = sanitized_Request( |         request = sanitized_Request( | ||||||
|             post_url, compat_urllib_parse_urlencode(login_form).encode('utf-8')) |             post_url, urlencode_postdata(login_form)) | ||||||
|         request.add_header('Content-Type', 'application/x-www-form-urlencoded') |         request.add_header('Content-Type', 'application/x-www-form-urlencoded') | ||||||
|  |  | ||||||
|         response = self._download_webpage( |         response = self._download_webpage( | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| from __future__ import unicode_literals | from __future__ import unicode_literals | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import compat_urllib_parse_urlencode |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -42,7 +42,7 @@ class PrimeShareTVIE(InfoExtractor): | |||||||
|         self._sleep(wait_time, video_id) |         self._sleep(wait_time, video_id) | ||||||
|  |  | ||||||
|         req = sanitized_Request( |         req = sanitized_Request( | ||||||
|             url, compat_urllib_parse_urlencode(fields), headers) |             url, urlencode_postdata(fields), headers) | ||||||
|         video_page = self._download_webpage( |         video_page = self._download_webpage( | ||||||
|             req, video_id, 'Downloading video page') |             req, video_id, 'Downloading video page') | ||||||
|  |  | ||||||
|   | |||||||
| @@ -4,11 +4,11 @@ from __future__ import unicode_literals | |||||||
| import re | import re | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import compat_urllib_parse_urlencode |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     determine_ext, |     determine_ext, | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -34,7 +34,7 @@ class PromptFileIE(InfoExtractor): | |||||||
|                                  expected=True) |                                  expected=True) | ||||||
|  |  | ||||||
|         fields = self._hidden_inputs(webpage) |         fields = self._hidden_inputs(webpage) | ||||||
|         post = compat_urllib_parse_urlencode(fields) |         post = urlencode_postdata(fields) | ||||||
|         req = sanitized_Request(url, post) |         req = sanitized_Request(url, post) | ||||||
|         req.add_header('Content-type', 'application/x-www-form-urlencoded') |         req.add_header('Content-type', 'application/x-www-form-urlencoded') | ||||||
|         webpage = self._download_webpage( |         webpage = self._download_webpage( | ||||||
|   | |||||||
| @@ -3,11 +3,11 @@ from __future__ import unicode_literals | |||||||
| import base64 | import base64 | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import compat_urllib_parse_urlencode |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     int_or_none, |     int_or_none, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -45,7 +45,7 @@ class SharedIE(InfoExtractor): | |||||||
|  |  | ||||||
|         download_form = self._hidden_inputs(webpage) |         download_form = self._hidden_inputs(webpage) | ||||||
|         request = sanitized_Request( |         request = sanitized_Request( | ||||||
|             url, compat_urllib_parse_urlencode(download_form)) |             url, urlencode_postdata(download_form)) | ||||||
|         request.add_header('Content-Type', 'application/x-www-form-urlencoded') |         request.add_header('Content-Type', 'application/x-www-form-urlencoded') | ||||||
|  |  | ||||||
|         video_page = self._download_webpage( |         video_page = self._download_webpage( | ||||||
|   | |||||||
| @@ -4,10 +4,10 @@ from __future__ import unicode_literals | |||||||
| import re | import re | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import compat_urllib_parse_urlencode |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     parse_duration, |     parse_duration, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -47,7 +47,7 @@ class ShareSixIE(InfoExtractor): | |||||||
|         fields = { |         fields = { | ||||||
|             'method_free': 'Free' |             'method_free': 'Free' | ||||||
|         } |         } | ||||||
|         post = compat_urllib_parse_urlencode(fields) |         post = urlencode_postdata(fields) | ||||||
|         req = sanitized_Request(url, post) |         req = sanitized_Request(url, post) | ||||||
|         req.add_header('Content-type', 'application/x-www-form-urlencoded') |         req.add_header('Content-type', 'application/x-www-form-urlencoded') | ||||||
|  |  | ||||||
|   | |||||||
| @@ -7,12 +7,12 @@ import hashlib | |||||||
| import uuid | import uuid | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import compat_urllib_parse_urlencode |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     int_or_none, |     int_or_none, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|     unified_strdate, |     unified_strdate, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -175,7 +175,7 @@ class SmotriIE(InfoExtractor): | |||||||
|             video_form['pass'] = hashlib.md5(video_password.encode('utf-8')).hexdigest() |             video_form['pass'] = hashlib.md5(video_password.encode('utf-8')).hexdigest() | ||||||
|  |  | ||||||
|         request = sanitized_Request( |         request = sanitized_Request( | ||||||
|             'http://smotri.com/video/view/url/bot/', compat_urllib_parse_urlencode(video_form)) |             'http://smotri.com/video/view/url/bot/', urlencode_postdata(video_form)) | ||||||
|         request.add_header('Content-Type', 'application/x-www-form-urlencoded') |         request.add_header('Content-Type', 'application/x-www-form-urlencoded') | ||||||
|  |  | ||||||
|         video = self._download_json(request, video_id, 'Downloading video JSON') |         video = self._download_json(request, video_id, 'Downloading video JSON') | ||||||
| @@ -338,7 +338,7 @@ class SmotriBroadcastIE(InfoExtractor): | |||||||
|             } |             } | ||||||
|  |  | ||||||
|             request = sanitized_Request( |             request = sanitized_Request( | ||||||
|                 broadcast_url + '/?no_redirect=1', compat_urllib_parse_urlencode(login_form)) |                 broadcast_url + '/?no_redirect=1', urlencode_postdata(login_form)) | ||||||
|             request.add_header('Content-Type', 'application/x-www-form-urlencoded') |             request.add_header('Content-Type', 'application/x-www-form-urlencoded') | ||||||
|             broadcast_page = self._download_webpage( |             broadcast_page = self._download_webpage( | ||||||
|                 request, broadcast_id, 'Logging in and confirming age') |                 request, broadcast_id, 'Logging in and confirming age') | ||||||
|   | |||||||
| @@ -500,7 +500,6 @@ class SoundcloudSearchIE(SearchInfoExtractor, SoundcloudIE): | |||||||
|         query['linked_partitioning'] = '1' |         query['linked_partitioning'] = '1' | ||||||
|         query['offset'] = 0 |         query['offset'] = 0 | ||||||
|         data = compat_urllib_parse_urlencode(query) |         data = compat_urllib_parse_urlencode(query) | ||||||
|         data = compat_urllib_parse_urlencode(query) |  | ||||||
|         next_url = '{0}{1}?{2}'.format(self._API_V2_BASE, endpoint, data) |         next_url = '{0}{1}?{2}'.format(self._API_V2_BASE, endpoint, data) | ||||||
|  |  | ||||||
|         collected_results = 0 |         collected_results = 0 | ||||||
|   | |||||||
| @@ -4,8 +4,10 @@ from __future__ import unicode_literals | |||||||
| import re | import re | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import compat_urllib_parse_urlencode | from ..utils import ( | ||||||
| from ..utils import sanitized_Request |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
|  | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| class StreamcloudIE(InfoExtractor): | class StreamcloudIE(InfoExtractor): | ||||||
| @@ -35,7 +37,7 @@ class StreamcloudIE(InfoExtractor): | |||||||
|             (?:id="[^"]+"\s+)? |             (?:id="[^"]+"\s+)? | ||||||
|             value="([^"]*)" |             value="([^"]*)" | ||||||
|             ''', orig_webpage) |             ''', orig_webpage) | ||||||
|         post = compat_urllib_parse_urlencode(fields) |         post = urlencode_postdata(fields) | ||||||
|  |  | ||||||
|         self._sleep(12, video_id) |         self._sleep(12, video_id) | ||||||
|         headers = { |         headers = { | ||||||
|   | |||||||
| @@ -5,11 +5,11 @@ import codecs | |||||||
| import re | import re | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import compat_urllib_parse_urlencode |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     int_or_none, |     int_or_none, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -41,7 +41,7 @@ class TubiTvIE(InfoExtractor): | |||||||
|             'username': username, |             'username': username, | ||||||
|             'password': password, |             'password': password, | ||||||
|         } |         } | ||||||
|         payload = compat_urllib_parse_urlencode(form_data).encode('utf-8') |         payload = urlencode_postdata(form_data) | ||||||
|         request = sanitized_Request(self._LOGIN_URL, payload) |         request = sanitized_Request(self._LOGIN_URL, payload) | ||||||
|         request.add_header('Content-Type', 'application/x-www-form-urlencoded') |         request.add_header('Content-Type', 'application/x-www-form-urlencoded') | ||||||
|         login_page = self._download_webpage( |         login_page = self._download_webpage( | ||||||
|   | |||||||
| @@ -20,6 +20,7 @@ from ..utils import ( | |||||||
|     parse_duration, |     parse_duration, | ||||||
|     parse_iso8601, |     parse_iso8601, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -81,7 +82,7 @@ class TwitchBaseIE(InfoExtractor): | |||||||
|             post_url = compat_urlparse.urljoin(redirect_url, post_url) |             post_url = compat_urlparse.urljoin(redirect_url, post_url) | ||||||
|  |  | ||||||
|         request = sanitized_Request( |         request = sanitized_Request( | ||||||
|             post_url, compat_urllib_parse_urlencode(login_form).encode('utf-8')) |             post_url, urlencode_postdata(login_form)) | ||||||
|         request.add_header('Referer', redirect_url) |         request.add_header('Referer', redirect_url) | ||||||
|         response = self._download_webpage( |         response = self._download_webpage( | ||||||
|             request, None, 'Logging in as %s' % username) |             request, None, 'Logging in as %s' % username) | ||||||
|   | |||||||
| @@ -13,6 +13,7 @@ from ..utils import ( | |||||||
|     int_or_none, |     int_or_none, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|     unescapeHTML, |     unescapeHTML, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -139,7 +140,7 @@ class UdemyIE(InfoExtractor): | |||||||
|         }) |         }) | ||||||
|  |  | ||||||
|         request = sanitized_Request( |         request = sanitized_Request( | ||||||
|             self._LOGIN_URL, compat_urllib_parse_urlencode(login_form).encode('utf-8')) |             self._LOGIN_URL, urlencode_postdata(login_form)) | ||||||
|         request.add_header('Referer', self._ORIGIN_URL) |         request.add_header('Referer', self._ORIGIN_URL) | ||||||
|         request.add_header('Origin', self._ORIGIN_URL) |         request.add_header('Origin', self._ORIGIN_URL) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -2,13 +2,11 @@ | |||||||
| from __future__ import unicode_literals | from __future__ import unicode_literals | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import ( | from ..compat import compat_urlparse | ||||||
|     compat_urllib_parse_urlencode, |  | ||||||
|     compat_urlparse, |  | ||||||
| ) |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -48,7 +46,7 @@ class Vbox7IE(InfoExtractor): | |||||||
|                                         webpage, 'title').split('/')[0].strip() |                                         webpage, 'title').split('/')[0].strip() | ||||||
|  |  | ||||||
|         info_url = 'http://vbox7.com/play/magare.do' |         info_url = 'http://vbox7.com/play/magare.do' | ||||||
|         data = compat_urllib_parse_urlencode({'as3': '1', 'vid': video_id}) |         data = urlencode_postdata({'as3': '1', 'vid': video_id}) | ||||||
|         info_request = sanitized_Request(info_url, data) |         info_request = sanitized_Request(info_url, data) | ||||||
|         info_request.add_header('Content-Type', 'application/x-www-form-urlencoded') |         info_request.add_header('Content-Type', 'application/x-www-form-urlencoded') | ||||||
|         info_response = self._download_webpage(info_request, video_id, 'Downloading info webpage') |         info_response = self._download_webpage(info_request, video_id, 'Downloading info webpage') | ||||||
|   | |||||||
| @@ -5,10 +5,7 @@ import re | |||||||
| import json | import json | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import ( | from ..compat import compat_str | ||||||
|     compat_str, |  | ||||||
|     compat_urllib_parse_urlencode, |  | ||||||
| ) |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     int_or_none, |     int_or_none, | ||||||
| @@ -17,6 +14,7 @@ from ..utils import ( | |||||||
|     str_to_int, |     str_to_int, | ||||||
|     unescapeHTML, |     unescapeHTML, | ||||||
|     unified_strdate, |     unified_strdate, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
| from .vimeo import VimeoIE | from .vimeo import VimeoIE | ||||||
| from .pladform import PladformIE | from .pladform import PladformIE | ||||||
| @@ -204,7 +202,7 @@ class VKIE(InfoExtractor): | |||||||
|  |  | ||||||
|         request = sanitized_Request( |         request = sanitized_Request( | ||||||
|             'https://login.vk.com/?act=login', |             'https://login.vk.com/?act=login', | ||||||
|             compat_urllib_parse_urlencode(login_form).encode('utf-8')) |             urlencode_postdata(login_form)) | ||||||
|         login_page = self._download_webpage( |         login_page = self._download_webpage( | ||||||
|             request, None, note='Logging in as %s' % username) |             request, None, note='Logging in as %s' % username) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -2,11 +2,11 @@ | |||||||
| from __future__ import unicode_literals | from __future__ import unicode_literals | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import compat_urllib_parse_urlencode |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     NO_DEFAULT, |     NO_DEFAULT, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -38,7 +38,7 @@ class VodlockerIE(InfoExtractor): | |||||||
|  |  | ||||||
|         if fields['op'] == 'download1': |         if fields['op'] == 'download1': | ||||||
|             self._sleep(3, video_id)  # they do detect when requests happen too fast! |             self._sleep(3, video_id)  # they do detect when requests happen too fast! | ||||||
|             post = compat_urllib_parse_urlencode(fields) |             post = urlencode_postdata(fields) | ||||||
|             req = sanitized_Request(url, post) |             req = sanitized_Request(url, post) | ||||||
|             req.add_header('Content-type', 'application/x-www-form-urlencoded') |             req.add_header('Content-type', 'application/x-www-form-urlencoded') | ||||||
|             webpage = self._download_webpage( |             webpage = self._download_webpage( | ||||||
|   | |||||||
| @@ -4,11 +4,11 @@ from __future__ import unicode_literals | |||||||
| import re | import re | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import compat_urllib_parse_urlencode |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     int_or_none, |     int_or_none, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -108,7 +108,7 @@ class XFileShareIE(InfoExtractor): | |||||||
|             if countdown: |             if countdown: | ||||||
|                 self._sleep(countdown, video_id) |                 self._sleep(countdown, video_id) | ||||||
|  |  | ||||||
|             post = compat_urllib_parse_urlencode(fields) |             post = urlencode_postdata(fields) | ||||||
|  |  | ||||||
|             req = sanitized_Request(url, post) |             req = sanitized_Request(url, post) | ||||||
|             req.add_header('Content-type', 'application/x-www-form-urlencoded') |             req.add_header('Content-type', 'application/x-www-form-urlencoded') | ||||||
|   | |||||||
| @@ -5,15 +5,13 @@ import re | |||||||
| import hashlib | import hashlib | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..compat import ( | from ..compat import compat_str | ||||||
|     compat_str, |  | ||||||
|     compat_urllib_parse_urlencode, |  | ||||||
| ) |  | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
|     int_or_none, |     int_or_none, | ||||||
|     float_or_none, |     float_or_none, | ||||||
|     sanitized_Request, |     sanitized_Request, | ||||||
|  |     urlencode_postdata, | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -170,14 +168,14 @@ class YandexMusicPlaylistIE(YandexMusicPlaylistBaseIE): | |||||||
|             missing_track_ids = set(map(compat_str, track_ids)) - set(present_track_ids) |             missing_track_ids = set(map(compat_str, track_ids)) - set(present_track_ids) | ||||||
|             request = sanitized_Request( |             request = sanitized_Request( | ||||||
|                 'https://music.yandex.ru/handlers/track-entries.jsx', |                 'https://music.yandex.ru/handlers/track-entries.jsx', | ||||||
|                 compat_urllib_parse_urlencode({ |                 urlencode_postdata({ | ||||||
|                     'entries': ','.join(missing_track_ids), |                     'entries': ','.join(missing_track_ids), | ||||||
|                     'lang': mu.get('settings', {}).get('lang', 'en'), |                     'lang': mu.get('settings', {}).get('lang', 'en'), | ||||||
|                     'external-domain': 'music.yandex.ru', |                     'external-domain': 'music.yandex.ru', | ||||||
|                     'overembed': 'false', |                     'overembed': 'false', | ||||||
|                     'sign': mu.get('authData', {}).get('user', {}).get('sign'), |                     'sign': mu.get('authData', {}).get('user', {}).get('sign'), | ||||||
|                     'strict': 'true', |                     'strict': 'true', | ||||||
|                 }).encode('utf-8')) |                 })) | ||||||
|             request.add_header('Referer', url) |             request.add_header('Referer', url) | ||||||
|             request.add_header('X-Requested-With', 'XMLHttpRequest') |             request.add_header('X-Requested-With', 'XMLHttpRequest') | ||||||
|  |  | ||||||
|   | |||||||
| @@ -44,6 +44,7 @@ from ..utils import ( | |||||||
|     unified_strdate, |     unified_strdate, | ||||||
|     unsmuggle_url, |     unsmuggle_url, | ||||||
|     uppercase_escape, |     uppercase_escape, | ||||||
|  |     urlencode_postdata, | ||||||
|     ISO3166Utils, |     ISO3166Utils, | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -115,7 +116,7 @@ class YoutubeBaseInfoExtractor(InfoExtractor): | |||||||
|             'hl': 'en_US', |             'hl': 'en_US', | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         login_data = compat_urllib_parse_urlencode(login_form_strs).encode('ascii') |         login_data = urlencode_postdata(login_form_strs) | ||||||
|  |  | ||||||
|         req = sanitized_Request(self._LOGIN_URL, login_data) |         req = sanitized_Request(self._LOGIN_URL, login_data) | ||||||
|         login_results = self._download_webpage( |         login_results = self._download_webpage( | ||||||
| @@ -148,7 +149,7 @@ class YoutubeBaseInfoExtractor(InfoExtractor): | |||||||
|                 'TrustDevice': 'on', |                 'TrustDevice': 'on', | ||||||
|             }) |             }) | ||||||
|  |  | ||||||
|             tfa_data = compat_urllib_parse_urlencode(tfa_form_strs).encode('ascii') |             tfa_data = urlencode_postdata(tfa_form_strs) | ||||||
|  |  | ||||||
|             tfa_req = sanitized_Request(self._TWOFACTOR_URL, tfa_data) |             tfa_req = sanitized_Request(self._TWOFACTOR_URL, tfa_data) | ||||||
|             tfa_results = self._download_webpage( |             tfa_results = self._download_webpage( | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user