diff options
| -rw-r--r-- | youtube_dl/extractor/vimeo.py | 13 | 
1 files changed, 7 insertions, 6 deletions
| diff --git a/youtube_dl/extractor/vimeo.py b/youtube_dl/extractor/vimeo.py index 2437ae1eb..b608740b8 100644 --- a/youtube_dl/extractor/vimeo.py +++ b/youtube_dl/extractor/vimeo.py @@ -13,6 +13,7 @@ from ..compat import (      compat_urlparse,  )  from ..utils import ( +    encode_dict,      ExtractorError,      InAdvancePagedList,      int_or_none, @@ -40,13 +41,13 @@ class VimeoBaseInfoExtractor(InfoExtractor):          self.report_login()          webpage = self._download_webpage(self._LOGIN_URL, None, False)          token, vuid = self._extract_xsrft_and_vuid(webpage) -        data = urlencode_postdata({ +        data = urlencode_postdata(encode_dict({              'action': 'login',              'email': username,              'password': password,              'service': 'vimeo',              'token': token, -        }) +        }))          login_request = compat_urllib_request.Request(self._LOGIN_URL, data)          login_request.add_header('Content-Type', 'application/x-www-form-urlencoded')          login_request.add_header('Cookie', 'vuid=%s' % vuid) @@ -208,10 +209,10 @@ class VimeoIE(VimeoBaseInfoExtractor):          if password is None:              raise ExtractorError('This video is protected by a password, use the --video-password option', expected=True)          token, vuid = self._extract_xsrft_and_vuid(webpage) -        data = urlencode_postdata({ +        data = urlencode_postdata(encode_dict({              'password': password,              'token': token, -        }) +        }))          if url.startswith('http://'):              # vimeo only supports https now, but the user can give an http url              url = url.replace('http://', 'https://') @@ -227,7 +228,7 @@ class VimeoIE(VimeoBaseInfoExtractor):          password = self._downloader.params.get('videopassword', None)          if password is None:              raise ExtractorError('This video is protected by a password, use the --video-password option') -        data = compat_urllib_parse.urlencode({'password': password}) +        data = urlencode_postdata(encode_dict({'password': password}))          pass_url = url + '/check-password'          password_request = compat_urllib_request.Request(pass_url, data)          password_request.add_header('Content-Type', 'application/x-www-form-urlencoded') @@ -488,7 +489,7 @@ class VimeoChannelIE(VimeoBaseInfoExtractor):          token, vuid = self._extract_xsrft_and_vuid(webpage)          fields['token'] = token          fields['password'] = password -        post = urlencode_postdata(fields) +        post = urlencode_postdata(encode_dict(fields))          password_path = self._search_regex(              r'action="([^"]+)"', login_form, 'password URL')          password_url = compat_urlparse.urljoin(page_url, password_path) | 
