Browse Source

[vimeo] Fix logging in python 3.x

The POST data must be a bytes object.
Jaime Marquínez Ferrándiz 11 years ago
parent
commit
a980bc4324
1 changed files with 8 additions and 6 deletions
  1. 8 6
      youtube_dl/extractor/vimeo.py

+ 8 - 6
youtube_dl/extractor/vimeo.py

@@ -17,6 +17,7 @@ from ..utils import (
     RegexNotFoundError,
     std_headers,
     unsmuggle_url,
+    urlencode_postdata,
 )
 
 
@@ -119,12 +120,13 @@ class VimeoIE(SubtitlesInfoExtractor):
         login_url = 'https://vimeo.com/log_in'
         webpage = self._download_webpage(login_url, None, False)
         token = self._search_regex(r'xsrft: \'(.*?)\'', webpage, 'login token')
-        data = compat_urllib_parse.urlencode({'email': username,
-                                              'password': password,
-                                              'action': 'login',
-                                              'service': 'vimeo',
-                                              'token': token,
-                                              })
+        data = urlencode_postdata({
+            'email': username,
+            'password': password,
+            'action': 'login',
+            'service': 'vimeo',
+            'token': token,
+        })
         login_request = compat_urllib_request.Request(login_url, data)
         login_request.add_header('Content-Type', 'application/x-www-form-urlencoded')
         login_request.add_header('Cookie', 'xsrft=%s' % token)