[aws] fix canonical/signed headers generation in python 2(closes #15102)
This commit is contained in:
parent
a491fd0c6f
commit
84f085d4bd
|
@ -21,11 +21,11 @@ class AWSIE(InfoExtractor):
|
||||||
'Accept': 'application/json',
|
'Accept': 'application/json',
|
||||||
'Host': self._AWS_PROXY_HOST,
|
'Host': self._AWS_PROXY_HOST,
|
||||||
'X-Amz-Date': amz_date,
|
'X-Amz-Date': amz_date,
|
||||||
|
'X-Api-Key': self._AWS_API_KEY
|
||||||
}
|
}
|
||||||
session_token = aws_dict.get('session_token')
|
session_token = aws_dict.get('session_token')
|
||||||
if session_token:
|
if session_token:
|
||||||
headers['X-Amz-Security-Token'] = session_token
|
headers['X-Amz-Security-Token'] = session_token
|
||||||
headers['X-Api-Key'] = self._AWS_API_KEY
|
|
||||||
|
|
||||||
def aws_hash(s):
|
def aws_hash(s):
|
||||||
return hashlib.sha256(s.encode('utf-8')).hexdigest()
|
return hashlib.sha256(s.encode('utf-8')).hexdigest()
|
||||||
|
@ -33,9 +33,9 @@ class AWSIE(InfoExtractor):
|
||||||
# Task 1: http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html
|
# Task 1: http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html
|
||||||
canonical_querystring = compat_urllib_parse_urlencode(query)
|
canonical_querystring = compat_urllib_parse_urlencode(query)
|
||||||
canonical_headers = ''
|
canonical_headers = ''
|
||||||
for header_name, header_value in headers.items():
|
for header_name, header_value in sorted(headers.items()):
|
||||||
canonical_headers += '%s:%s\n' % (header_name.lower(), header_value)
|
canonical_headers += '%s:%s\n' % (header_name.lower(), header_value)
|
||||||
signed_headers = ';'.join([header.lower() for header in headers.keys()])
|
signed_headers = ';'.join([header.lower() for header in sorted(headers.keys())])
|
||||||
canonical_request = '\n'.join([
|
canonical_request = '\n'.join([
|
||||||
'GET',
|
'GET',
|
||||||
aws_dict['uri'],
|
aws_dict['uri'],
|
||||||
|
|
Loading…
Reference in New Issue