婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > python 阿里云oss實(shí)現(xiàn)直傳簽名與回調(diào)驗(yàn)證的示例方法

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

熱門標(biāo)簽:千陽(yáng)自動(dòng)外呼系統(tǒng) 工廠智能電話機(jī)器人 西藏智能外呼系統(tǒng)五星服務(wù) 在哪里辦理400電話號(hào)碼 清遠(yuǎn)360地圖標(biāo)注方法 平頂山外呼系統(tǒng)免費(fèi) 原裝電話機(jī)器人 400電話申請(qǐng)服務(wù)商選什么 江蘇客服外呼系統(tǒng)廠家

簽名

import base64
import json
import time
from datetime import datetime
import hmac
from hashlib import sha1

access_key_id = ''
# 請(qǐng)?zhí)顚?xiě)您的AccessKeySecret。
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 = 1200
expire_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 asyncio
import base64
import time
import aiomysql
import rsa
from aiohttp import web, ClientSession
from urllib import parse
import uuid


def 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()
    # 沒(méi)有下面這句話會(huì)報(bào)錯(cuò) RuntimeError: Event loop is closed ,因?yàn)檫B接池沒(méi)有真正關(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 application


if __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)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python生成個(gè)性簽名圖片獲取GUI過(guò)程解析
  • PYTHON實(shí)現(xiàn)SIGN簽名的過(guò)程解析
  • python rsa實(shí)現(xiàn)數(shù)據(jù)加密和解密、簽名加密和驗(yàn)簽功能
  • 對(duì)python函數(shù)簽名的方法詳解
  • python3個(gè)性簽名設(shè)計(jì)實(shí)現(xiàn)代碼
  • python3爬蟲(chóng)之設(shè)計(jì)簽名小程序
  • Python GUI Tkinter簡(jiǎn)單實(shí)現(xiàn)個(gè)性簽名設(shè)計(jì)

標(biāo)簽:白城 安慶 隨州 錦州 天水 日照 西安 股票

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python 阿里云oss實(shí)現(xiàn)直傳簽名與回調(diào)驗(yàn)證的示例方法》,本文關(guān)鍵詞  python,阿里,云,oss,實(shí)現(xiàn),直傳,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python 阿里云oss實(shí)現(xiàn)直傳簽名與回調(diào)驗(yàn)證的示例方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于python 阿里云oss實(shí)現(xiàn)直傳簽名與回調(diào)驗(yàn)證的示例方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美午夜在线观看| 日韩视频在线一区二区| 日韩成人一区二区三区在线观看| 欧美久久久久久久久中文字幕| 免费观看一级欧美片| 久久精品一区二区三区不卡| 蜜桃精品在线观看| 欧美国产一区二区| 亚洲婷婷综合久久一本伊一区| 国产精品国产三级国产aⅴ原创| 国产精品1区2区| 精品va天堂亚洲国产| 久久不见久久见免费视频7| 久久久99久久| 粉嫩蜜臀av国产精品网站| 久久婷婷国产综合精品青草| 夫妻av一区二区| 国产精品久久久久aaaa| 色网综合在线观看| 日韩精彩视频在线观看| 久久精品视频免费| 一本大道久久a久久综合| 午夜免费欧美电影| 久久久精品人体av艺术| 99re视频精品| 免费高清不卡av| 中文字幕日韩精品一区| 欧美久久高跟鞋激| 不卡的av电影在线观看| 日韩精品免费专区| 欧美激情一区二区三区| 欧美片网站yy| 成人精品免费网站| 青青草97国产精品免费观看无弹窗版 | 91视频国产观看| 亚洲国产精品一区二区www| 日韩精品综合一本久道在线视频| 风间由美一区二区av101| 日韩精品欧美成人高清一区二区| 中文字幕在线不卡一区二区三区| 欧美大胆人体bbbb| 在线观看日韩一区| 国产激情91久久精品导航 | 国产精品污污网站在线观看 | 国产日韩一级二级三级| 在线电影院国产精品| 成人动漫在线一区| 麻豆精品在线播放| 亚洲高清不卡在线观看| 国产精品电影院| 国产视频911| 精品精品欲导航| 91麻豆精品国产综合久久久久久| 色综合夜色一区| 成人免费看黄yyy456| 国产福利91精品一区| 久久精品国产99国产| 天堂午夜影视日韩欧美一区二区| 亚洲激情第一区| 亚洲人成在线播放网站岛国| 国产精品久久久久桃色tv| 国产午夜三级一区二区三| 日韩视频免费观看高清完整版 | 2020日本不卡一区二区视频| 欧美日韩在线观看一区二区| 色一情一乱一乱一91av| 色菇凉天天综合网| 96av麻豆蜜桃一区二区| 99riav久久精品riav| 色天使色偷偷av一区二区| 91黄视频在线| 欧美精品在线观看播放| 欧美剧情片在线观看| 制服丝袜国产精品| 欧美一区二区视频免费观看| 日韩你懂的在线播放| 精品电影一区二区三区| 亚洲国产精品成人久久综合一区| 国产精品久久久久久亚洲伦 | 日韩经典一区二区| 麻豆精品精品国产自在97香蕉| 免费高清在线一区| 国产久卡久卡久卡久卡视频精品| 国产成人午夜99999| 99精品欧美一区二区蜜桃免费 | 欧美亚洲图片小说| 欧美美女喷水视频| 精品国产污污免费网站入口| 国产午夜亚洲精品午夜鲁丝片| 亚洲同性gay激情无套| 午夜一区二区三区在线观看| 七七婷婷婷婷精品国产| 国内精品国产三级国产a久久| 国产乱子轮精品视频| 91亚洲精华国产精华精华液| 在线观看91av| 国产精品视频观看| 亚洲第一主播视频| 国产盗摄一区二区| 欧美性生活久久| 国产日韩精品一区二区三区 | 91蜜桃网址入口| 日韩午夜在线观看视频| 国产精品传媒视频| 天堂va蜜桃一区二区三区 | 国产精品视频一二三| 亚洲高清三级视频| 成人免费的视频| 日韩欧美一二区| 亚洲制服丝袜在线| 成人激情文学综合网| 欧美一区二区视频免费观看| 亚洲婷婷国产精品电影人久久| 精品综合久久久久久8888| 在线观看www91| 欧美国产一区视频在线观看| 日本欧美大码aⅴ在线播放| 国产成人自拍网| 9191成人精品久久| 一个色妞综合视频在线观看| 国产福利91精品一区| 欧美大片一区二区| 亚洲成人黄色小说| 在线观看亚洲专区| 最新欧美精品一区二区三区| 国产一区二区三区观看| 日韩一区二区三区视频在线| 亚洲一本大道在线| 色综合中文字幕| 亚洲少妇30p| 91小视频免费观看| 一区二区三区资源| 色八戒一区二区三区| 亚洲免费观看高清完整版在线 | 日韩午夜av电影| 午夜久久电影网| 欧美性高清videossexo| 亚洲视频一区二区在线观看| 国产伦精品一区二区三区免费迷 | 免费高清在线一区| 欧美一区二区三区视频| 午夜在线成人av| 欧美军同video69gay| 美国三级日本三级久久99| 欧美一二三区精品| 激情六月婷婷久久| 国产午夜亚洲精品理论片色戒| 国产激情偷乱视频一区二区三区| 国产欧美精品一区二区色综合朱莉| 国产做a爰片久久毛片| 国产欧美精品一区二区色综合| 国产成人综合视频| 亚洲欧美日韩国产手机在线| 欧美在线观看18| 蜜桃视频在线观看一区二区| 久久久久国产一区二区三区四区 | 国产一区二区在线观看免费| 国产亚洲精品精华液| 国产福利精品一区二区| 自拍av一区二区三区| 欧美午夜片在线观看| 日韩精品一区第一页| 久久久蜜桃精品| 91色乱码一区二区三区| 亚洲午夜成aⅴ人片| 欧美日韩高清不卡| 国内精品第一页| 一区二区三区资源| 日韩免费电影网站| 色综合一个色综合亚洲| 秋霞电影一区二区| 中文字幕av一区二区三区免费看| 欧洲av在线精品| 韩国中文字幕2020精品| 中文字幕欧美日本乱码一线二线| 欧美午夜宅男影院| 国产成人aaaa| 奇米777欧美一区二区| 又紧又大又爽精品一区二区| 久久精品视频免费| 日韩三级免费观看| 在线免费亚洲电影| 国产精品一区不卡| 美女网站视频久久| 亚洲国产成人va在线观看天堂| 久久久久久久国产精品影院| 欧美日韩久久一区二区| 成人av高清在线| 国精品**一区二区三区在线蜜桃| 亚洲国产aⅴ成人精品无吗| 国产精品久久久久久久裸模| 精品免费国产二区三区| 欧美性极品少妇| 91女厕偷拍女厕偷拍高清| 国产精品一区二区三区99| 热久久国产精品| 亚欧色一区w666天堂| 一区二区三区四区不卡视频| 中文一区在线播放 | 精品国产青草久久久久福利|