|
@@ -4,7 +4,6 @@ from __future__ import unicode_literals
|
|
|
import json
|
|
|
import re
|
|
|
import itertools
|
|
|
-import hashlib
|
|
|
|
|
|
from .common import InfoExtractor
|
|
|
from ..compat import (
|
|
@@ -178,17 +177,15 @@ 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', expected=True)
|
|
|
- token = self._search_regex(r'xsrft: \'(.*?)\'', webpage, 'login token')
|
|
|
- data = compat_urllib_parse.urlencode({
|
|
|
+ token = self._search_regex(r'xsrft = \'(.*?)\'', webpage, 'login token')
|
|
|
+ data = urlencode_postdata({
|
|
|
'password': password,
|
|
|
'token': token,
|
|
|
})
|
|
|
- # I didn't manage to use the password with https
|
|
|
- if url.startswith('https'):
|
|
|
- pass_url = url.replace('https', 'http')
|
|
|
- else:
|
|
|
- pass_url = url
|
|
|
- password_request = compat_urllib_request.Request(pass_url + '/password', data)
|
|
|
+ if url.startswith('http://'):
|
|
|
+ # vimeo only supports https now, but the user can give an http url
|
|
|
+ url = url.replace('http://', 'https://')
|
|
|
+ password_request = compat_urllib_request.Request(url + '/password', data)
|
|
|
password_request.add_header('Content-Type', 'application/x-www-form-urlencoded')
|
|
|
password_request.add_header('Cookie', 'xsrft=%s' % token)
|
|
|
return self._download_webpage(
|
|
@@ -227,11 +224,6 @@ class VimeoIE(VimeoBaseInfoExtractor):
|
|
|
if mobj.group('pro') or mobj.group('player'):
|
|
|
url = 'http://player.vimeo.com/video/' + video_id
|
|
|
|
|
|
- password = self._downloader.params.get('videopassword', None)
|
|
|
- if password:
|
|
|
- headers['Cookie'] = '%s_password=%s' % (
|
|
|
- video_id, hashlib.md5(password.encode('utf-8')).hexdigest())
|
|
|
-
|
|
|
# Retrieve video webpage to extract further information
|
|
|
request = compat_urllib_request.Request(url, None, headers)
|
|
|
try:
|