製品アップデート情報




cloud.tencent.comがグローバルアクセラレーションドメイン名の場合、認証設定は下記のようになります。

http://cloud.tencent.com/1.jpgにアクセスする場合、直接リクエストを開始できます。http://cloud.tencent.com/1.jpgにアクセスする場合、リクエストURL形式はhttp://cloud.tencent.com/509301d10da7b862052927ed7a947f43/5e561139/1.jpgとなります。import requestsimport jsonimport sysimport timeimport hashlibdef generate_url(category, ts=None):url = 'http://www.test.com' # テストドメイン名path = '/1.txt' # アクセスパスsuffix = '?a=1&b=2' # URLパラメータkey = 'abc123456789' # 認証キーnow = int(time.mktime(time.strptime(ts, "%Y%m%d%H%M%S")) if ts else time.time()) # 時間が入力された場合、入力されたtsを使用します。入力されていない場合、現在のtsを使用します。sign_key = 'key' # url署名フィールドtime_key = 't' # url時間フィールドttl_format = 10 # 時間の進数、10または16。typeDのみ対応if category == 'A': #Type Ats = nowrand_str = '123abc'sign = hashlib.md5('%s-%s-%s-%s-%s' % (path, ts, rand_str, 0, key)).hexdigest()request_url = '%s%s?%s=%s' % (url, path, sign_key, '%s-%s-%s-%s' % (ts, rand_str, 0, sign))print(request_url)elif category == 'B': #Type Bts = time.strftime('%Y%m%d%H%M', time.localtime(now))sign = hashlib.md5('%s%s%s' % (key, ts, path)).hexdigest()request_url = '%s/%s/%s%s%s' % (url, ts, sign, path, suffix)print(request_url)elif category == 'C': #Type Cts = hex(now)[2:]sign = hashlib.md5('%s%s%s' % (key, path, ts)).hexdigest()request_url = '%s/%s/%s%s%s' % (url, sign, ts, path, suffix)print(request_url)elif category == 'D': #Type Dts = now if ttl_format == 10 else hex(now)[2:]sign = hashlib.md5('%s%s%s' % (key, path, ts)).hexdigest()request_url = '%s%s?%s=%s&%s=%s' % (url, path, sign_key, sign, time_key, ts)print(request_url)if __name__ == '__main__':if len(sys.argv) == 1:print('usage: python generate_url.py A 20200501000000')args = sys.argv[1:]generate_url(*args)
フィードバック