[youtube] Fix authentication (#10392)

This commit is contained in:
Sergey M․ 2016-08-24 00:25:21 +07:00
parent ccb6570e9e
commit 1212e9972f
No known key found for this signature in database
GPG key ID: 2C393E0F18A9236D

View file

@ -91,36 +91,17 @@ class YoutubeBaseInfoExtractor(InfoExtractor):
if login_page is False:
return
galx = self._search_regex(r'(?s)<input.+?name="GALX".+?value="(.+?)"',
login_page, 'Login GALX parameter')
login_form = self._hidden_inputs(login_page)
# Log in
login_form_strs = {
'continue': 'https://www.youtube.com/signin?action_handle_signin=true&feature=sign_in_button&hl=en_US&nomobiletemp=1',
login_form.update({
'Email': username,
'GALX': galx,
'Passwd': password,
'PersistentCookie': 'yes',
'_utf8': '',
'bgresponse': 'js_disabled',
'checkConnection': '',
'checkedDomains': 'youtube',
'dnConn': '',
'pstMsg': '0',
'rmShown': '1',
'secTok': '',
'signIn': 'Sign in',
'timeStmp': '',
'service': 'youtube',
'uilel': '3',
'hl': 'en_US',
}
})
login_results = self._download_webpage(
self._PASSWORD_CHALLENGE_URL, None,
note='Logging in', errnote='unable to log in', fatal=False,
data=urlencode_postdata(login_form_strs))
data=urlencode_postdata(login_form))
if login_results is False:
return False