阿里云智能云相册

master
10295 6 years ago
parent 5eab62491f
commit d035e5e206
  1. 80
      PixivSearch/aliyun/photo/AliyunPhoto.py

@ -5,7 +5,6 @@ import hashlib
import hmac import hmac
import os import os
import random import random
import time
from urllib import parse from urllib import parse
import requests import requests
@ -26,54 +25,39 @@ def get_md5_01(file_path):
def createTransaction(HTTPMethod, filePath): def createTransaction(HTTPMethod, filePath):
fileName = filePath.split('/')[-1] fileName = filePath.split('/')[-1]
for Version in getBetweenDay('2017-01-01'): param = {
print("Version={Version}".format(Version=Version)) # "Format": "JSON",
param = { "Version": '2017-07-11',
"Format": "JSON", "AccessKeyId": "LTAIeS8aBuPBZxV2",
"Version": Version, "SignatureMethod": "HMAC-SHA1",
"AccessKeyId": "LTAIeS8aBuPBZxV2", "Timestamp": datetime.datetime.utcnow().isoformat()[:19] + 'Z',
"SignatureMethod": "HMAC-SHA1", "SignatureVersion": "1.0",
"Timestamp": int(time.time()), "SignatureNonce": '9166ab59-f445-' + str(random.randint(1000, 9999)) + '-911d-664c1570df0f',
"SignatureVersion": "1.0", "Action": "CreateTransaction"
"SignatureNonce": random.randint(0, 9), # "Ext": fileName[-fileName[::-1].index('.'):],
"Action": "CreateTransaction", # "Md5": get_md5_01(filePath),
"Ext": fileName[-fileName[::-1].index('.'):], # "Size": os.path.getsize(filePath)
"Md5": get_md5_01(filePath), }
"Size": os.path.getsize(filePath) AccessKeySecret = b'hyPeTaDQBQs6jetYcqY0BUdpacXTH3&'
} canonicalQueryString = ''
AccessKeySecret = b'hyPeTaDQBQs6jetYcqY0BUdpacXTH3'
canonicalQueryString = '' for i in sorted(param.items(), key=lambda d: d[0]):
for i in sorted(param.items(), key=lambda d: d[0]): canonicalQueryString += '&' + i[0] + '=' + str(i[1])
canonicalQueryString += '&' + i[0] + parse.quote('=' + str(i[1])) print(canonicalQueryString[1:])
# print(canonicalQueryString[1:])
strUrlEncoding = HTTPMethod + '&%2F&' + parse.quote(canonicalQueryString[1:])
strUrlEncoding = HTTPMethod + '&%2F&' + canonicalQueryString[1:] print(strUrlEncoding)
print(strUrlEncoding) stringToSign = base64.b64encode(hmac.new(AccessKeySecret, strUrlEncoding.encode('UTF-8'), 'sha1').digest())
stringToSign = base64.b64encode(hmac.new(AccessKeySecret, strUrlEncoding.encode('UTF-8'), 'sha1').digest()) print(stringToSign)
server = 'https://cloudphoto.cn-shanghai.aliyuncs.com'
server = 'https://cloudphoto.cn-shanghai.aliyuncs.com' url = server + "?" + canonicalQueryString[1:] + '&Signature=' + parse.quote(stringToSign.decode('utf-8')).replace(
url = server + "?" + canonicalQueryString[1:] + '&Signature=' + stringToSign.decode('utf-8').replace('+','%20').replace('/','%2F').replace('=','%3D') '/', '%2F')
print(url) print(url)
result = requests.get(url) result = requests.get(url)
if result.status_code == 200: print(result.content)
break
else:
print(result.content)
time.sleep(1)
def getBetweenDay(begin_date):
date_list = []
begin_date = datetime.datetime.strptime(begin_date, "%Y-%m-%d")
end_date = datetime.datetime.strptime(time.strftime('%Y-%m-%d', time.localtime(time.time())), "%Y-%m-%d")
while begin_date <= end_date:
date_str = begin_date.strftime("%Y-%m-%d")
date_list.append(date_str)
begin_date += datetime.timedelta(days=1)
return date_list
if __name__ == '__main__': if __name__ == '__main__':
createTransaction("GET", "C:/Users/10295/Desktop/灵梦.png") createTransaction("GET", "C:/Users/10295/Desktop/灵梦.png")
# print(getBetweenDay('2017-01-01')) # print(datetime.datetime.utcnow())

Loading…
Cancel
Save