成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

python 阿里云oss實(shí)現(xiàn)直傳簽名與回調(diào)驗(yàn)證的示例方法

瀏覽:148日期:2022-06-23 18:32:48

簽名

import base64import jsonimport timefrom datetime import datetimeimport hmacfrom hashlib import sha1access_key_id = ’’# 請(qǐng)?zhí)顚懩腁ccessKeySecret。access_key_secret = ’’# host的格式為 bucketname.endpoint ,請(qǐng)?zhí)鎿Q為您的真實(shí)信息。host = ’’# callback_url為 上傳回調(diào)服務(wù)器的URL,請(qǐng)將下面的IP和Port配置為您自己的真實(shí)信息。callback_url = ''# 用戶上傳文件時(shí)指定的前綴。upload_dir = ’user-dir-prefix/’expire_time = 1200expire_syncpoint = int(time.time() + expire_time)policy_dict = { ’expiration’: datetime.utcfromtimestamp(expire_syncpoint).isoformat() + ’Z’, ’conditions’: [ {'bucket': 'test-paige'}, [’starts-with’, ’$key’, ’user/test/’] ]}policy = json.dumps(policy_dict).strip()policy_encode = base64.b64encode(policy.encode())signature = base64.encodebytes(hmac.new(access_key_secret.encode(), policy_encode, sha1).digest())callback_dict = { ’callbackUrl’: callback_url, ’callbackBody’: ’filename=${object}&size=${size}&mimeType=${mimeType}&height=${imageInfo.height}&width=${’ ’imageInfo.width}’, ’callbackBodyType’: ’application/json’}callback = base64.b64encode(json.dumps(callback_dict).strip().encode()).decode()var = { ’accessid’: access_key_id, ’host’: host, ’policy’: policy_encode.decode(), ’signature’: signature.decode().strip(), ’expire’: expire_syncpoint, ’callback’: callback}

回調(diào)驗(yàn)簽

import asyncioimport base64import timeimport aiomysqlimport rsafrom aiohttp import web, ClientSessionfrom urllib import parseimport uuiddef success(msg=’’, data=None): if data is None: data = {} dict_data = { ’code’: 1, ’msg’: msg, ’data’: data } return web.json_response(dict_data)def failed(msg=’’, data=None): if data is None: data = {} dict_data = { ’code’: 0, ’msg’: msg, ’data’: data } return web.json_response(dict_data)async def handle(request): ''' 獲取連接池 :param web.BaseRequest request: :return: ''' authorization_base64 = request.headers[’authorization’] x_oss_pub_key_url_base64 = request.headers[’x-oss-pub-key-url’] pub_key_url = base64.b64decode(x_oss_pub_key_url_base64.encode()) authorization = base64.b64decode(authorization_base64.encode()) path = request.path async with ClientSession() as session: async with session.get(pub_key_url.decode()) as resp: pub_key_body = await resp.text() pubkey = rsa.PublicKey.load_pkcs1_openssl_pem(pub_key_body.encode()) body = await request.content.read() auth_str = parse.unquote(path) + ’n’ + body.decode() parse_url = parse.parse_qs(body.decode()) print(parse_url) try:rsa.verify(auth_str.encode(), authorization, pubkey)pool = request.app[’mysql_pool’]async with pool.acquire() as conn: async with conn.cursor() as cur: id = str(uuid.uuid4()) url = parse_url[’filename’][0] mime = parse_url[’mimeType’][0] disk = ’oss’ time_at = time.strftime('%Y-%m-%d %H:%I:%S', time.localtime()) sql = 'INSERT INTO media(id,url,mime,disk,created_at,updated_at) VALUES(%s,%s,%s,%s,%s,%s)' await cur.execute(sql, (id, url, mime, disk, time_at, time_at)) await conn.commit()dict_data = { ’id’: id, ’url’: url, ’cdn_url’: ’https://cdn.***.net’ + ’/’ + url, ’mime’: mime, ’disk’: disk, ’created_at’: time_at, ’updated_at’: time_at,}return success(data=dict_data) except rsa.pkcs1.VerificationError:return failed(msg=’驗(yàn)證錯(cuò)誤’)async def init(loop): # 創(chuàng)建連接池 mysql_pool = await aiomysql.create_pool(host=’127.0.0.1’, port=3306, user=’’, password=’’, db=’’, loop=loop) async def on_shutdown(application): ''' 接收到關(guān)閉信號(hào)時(shí),要先關(guān)閉連接池,并等待連接池關(guān)閉成功. :param web.Application application: :return: ''' application[’mysql_pool’].close() # 沒有下面這句話會(huì)報(bào)錯(cuò) RuntimeError: Event loop is closed ,因?yàn)檫B接池沒有真正關(guān)關(guān)閉程序就關(guān)閉了,引發(fā)python的報(bào)錯(cuò) await application[’mysql_pool’].wait_closed() application = web.Application() application.on_shutdown.append(on_shutdown) # 把連接池放到 application 實(shí)例中 application[’mysql_pool’] = mysql_pool application.add_routes([web.get(’/’, handle), web.post(’/oss’, handle)]) return applicationif __name__ == ’__main__’: loop = asyncio.get_event_loop() application = loop.run_until_complete(init(loop)) web.run_app(application, host=’127.0.0.1’) loop.close()

到此這篇關(guān)于python 阿里云oss實(shí)現(xiàn)直傳簽名與回調(diào)驗(yàn)證的文章就介紹到這了,更多相關(guān)python 直傳簽名與回調(diào)驗(yàn)證內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
日韩欧美自拍偷拍| 国产一区二区无遮挡| 欧美精品国产| 精品国产乱子伦一区| 国产不卡在线一区| 欧美一区二区三区在线看| 日本一道高清亚洲日美韩| 亚洲视频成人| 亚洲一区精品在线| 校园春色综合网| 亚洲一区二区高清| 亚洲一区日韩在线| 亚洲综合偷拍欧美一区色| 国产亚洲福利| 亚洲成人1区2区| 久久久夜夜夜| 日本一道高清亚洲日美韩| 久色成人在线| 青娱乐精品视频在线| 欧美亚洲尤物久久| 精品午夜一区二区三区在线观看| 欧美日本在线视频| 国产精品亚洲一区二区三区妖精| 4438成人网| 国产凹凸在线观看一区二区| 精品国精品国产| 97精品视频在线观看自产线路二| 中文字幕乱码一区二区免费| 国产在线日韩| 亚洲一区视频在线| 色婷婷狠狠综合| 精油按摩中文字幕久久| 7777精品伊人久久久大香线蕉经典版下载 | 久久久久97国产精华液好用吗| 99久久伊人网影院| 欧美激情艳妇裸体舞| 亚洲激情婷婷| 日韩av电影免费观看高清完整版 | 国产精品久久久久影院老司| 野花国产精品入口| 日韩av不卡一区二区| 911国产精品| 91同城在线观看| 亚洲素人一区二区| 麻豆91精品| 国产精品综合av一区二区国产馆| 久久精品一区四区| 国产日韩欧美二区| 免费日韩伦理电影| 欧美不卡在线视频| 亚洲激情社区| 免费美女久久99| 精品免费国产一区二区三区四区| 激情久久久久| 日本欧美在线观看| 久久综合久久鬼色| 国产精品久久久一区二区| 蜜桃视频第一区免费观看| 日韩免费一区二区| 亚洲美女视频在线免费观看| 麻豆一区二区在线| 久久天堂av综合合色蜜桃网| 亚洲另类黄色| 国产一区二区三区免费| 欧美激情在线看| 久色成人在线| 91在线一区二区| 午夜精品影院在线观看| 日韩欧美色电影| 亚洲成色www久久网站| 日本aⅴ亚洲精品中文乱码| 欧美mv日韩mv亚洲| 一二三区精品| 国产在线国偷精品免费看| 欧美高清在线精品一区| 久久狠狠一本精品综合网| 国产1区2区3区精品美女| 欧美不卡一区二区三区四区| 国产偷国产偷亚洲高清97cao| 久久99国产精品免费网站| 国产亚洲精品久| 日本乱人伦一区| 欧美成人一品| 男男视频亚洲欧美| 欧美极品另类videosde| 在线观看视频一区二区| 欧美日韩视频| 黄色日韩网站视频| 亚洲男女一区二区三区| 日韩三级精品电影久久久| 国产亚洲精品久久久久婷婷瑜伽| 国产91精品露脸国语对白| 一区二区三区中文在线| 欧美第一区第二区| 久久久成人网| 欧美日韩综合久久| 精品在线视频一区| 伊人夜夜躁av伊人久久| 欧美成va人片在线观看| 亚洲专区一区二区三区| 91在线porny国产在线看| 麻豆成人av在线| 中文字幕亚洲电影| 欧美一区二区在线免费播放| 国产日本精品| 91麻豆免费看| 狠狠色丁香婷综合久久| 亚洲男人的天堂av| 亚洲精品在线观| 欧美日韩一区二区在线观看 | 狠狠色狠狠色综合日日tαg| 久国产精品韩国三级视频| 亚洲精品免费电影| 欧美精品一区二区三区视频| 色吊一区二区三区| 亚洲高清在线播放| 99久久久久久| 国内精品伊人久久久久av影院| 亚洲影视在线播放| 国产日产亚洲精品系列| 91麻豆精品91久久久久同性| 亚洲欧美视频一区二区三区| 欧美日韩免费精品| 粉嫩绯色av一区二区在线观看 | 欧美午夜久久| 成人免费毛片片v| 麻豆一区二区三| 亚洲国产精品久久久男人的天堂| 亚洲国产高清aⅴ视频| 日韩精品一区二区三区视频在线观看 | 成人18视频日本| 性做久久久久久免费观看 | 日韩精品在线看片z| 在线亚洲人成电影网站色www| 影音先锋一区| 91在线视频官网| 国产**成人网毛片九色 | 欧美精品系列| 大胆欧美人体老妇| 国产一区激情在线| 日产国产高清一区二区三区| 夜夜操天天操亚洲| 国产精品久久午夜夜伦鲁鲁| 久久久综合网站| 欧美tickling挠脚心丨vk| 欧美高清你懂得| 欧美日韩综合在线| 欧美视频在线一区| 91精彩视频在线| 久久午夜精品| 色中色一区二区| 色婷婷精品大视频在线蜜桃视频| 国产农村妇女毛片精品久久莱园子 | 69久久99精品久久久久婷婷| 在线中文字幕一区二区| 色悠久久久久综合欧美99| 亚洲一区二区动漫| 国产精品日韩欧美一区二区| 亚洲人成免费| 不卡电影免费在线播放一区| 盗摄精品av一区二区三区| 国产一区二区在线视频| 精品一区二区久久| 精品一区二区在线观看| 久久国产视频网| 激情五月激情综合网| 韩国在线一区二区| 国产精品一区二区在线观看网站| 国产盗摄女厕一区二区三区 | 99re热这里只有精品视频| 成人三级伦理片| 成人午夜大片免费观看| 成人午夜碰碰视频| 不卡一区二区三区四区| 97se亚洲国产综合自在线不卡| 91麻豆国产福利精品| 你懂的国产精品| 欧美视频成人| 亚洲精品激情| 亚洲在线播放| 老司机精品福利视频| 欧美三级视频在线观看| 日韩一区二区三区免费观看| 精品三级av在线| 国产欧美一区二区精品仙草咪| 国产精品福利影院| 亚洲影院免费观看| 奇米色一区二区| 国内精品伊人久久久久av一坑| 成人一道本在线| 欧美激情第10页| 激情文学一区| 亚洲欧美精品在线观看| 欧美在线不卡视频| 日韩欧美久久久| 亚洲国产精品激情在线观看| 亚洲欧美乱综合| 爽爽淫人综合网网站| 黄色小说综合网站| 91婷婷韩国欧美一区二区|