zoukankan      html  css  js  c++  java
  • 阿里云签名

    # -*- coding: utf-8 -*-
    import uuid
    from urllib import unquote,quote
    import time, datetime
    from hashlib import sha1
    import hmac
    import base64
    import urllib2
    import urllib
    import cookielib
    import json
    import httplib
    import re
    import requests
    import pytz
    #uuid='3D99B500-FED0-11E8-ADC2-43E0E4AD0724'
    import uuid
    
    uuid = uuid.uuid1()
    tz = pytz.timezone('utc')
    print tz
    now = datetime.datetime.now(tz)
    sdate = now.strftime("%Y-%m-%dT%H:%M:%SZ")
    print sdate
    sdate = quote(sdate)
    print sdate
    ydate = sdate
    sdate = sdate.replace('%', '%25')
    yunid='LTAIb9zHh7U0Us3e'
    yunsecret='VbG8qFvhNEfWzilgNh0IAdeqXyhua2'
    
    
    def _init(a,b):
    
        DescribeRegions=b
        regionid=a
        header='GET&%2F&'
        myurl="AccessKeyId=%s&Action=%s&Format=JSON&RegionId=%s&SignatureMethod=HMAC-SHA1&SignatureNonce=%s&SignatureVersion=1.0&TimeStamp=%s&Version=2014-05-26" % (yunid,DescribeRegions,regionid,uuid,ydate)
        print myurl
        myurl=quote(myurl)
        myurl=header+myurl
        myurl=myurl.encode('utf-8')
        print myurl
        my_sign = hmac.new('VbG8qFvhNEfWzilgNh0IAdeqXyhua2&', myurl, sha1).digest()
        my_sign = base64.b64encode(my_sign)
        print my_sign
        my_sign=my_sign.encode('utf-8')
        return my_sign
    mysign=_init('region1','DescribeRegions')
    head='http://ecs.aliyuncs.com/?'
    url='SignatureVersion=1.0&Format=JSON&TimeStamp=%s&RegionId=%s&AccessKeyId=%s&SignatureMethod=HMAC-SHA1&Version=2014-05-26&Signature=%s&Action=%s&SignatureNonce=%s'%(ydate,'region1',yunid,mysign,'DescribeRegions',uuid)
    myurl=head+url
    s=requests.session()
    print s.get(myurl).content
    
    mysign=_init('cn-hangzhou','DescribeInstances')
    url='SignatureVersion=1.0&Format=JSON&TimeStamp=%s&RegionId=%s&AccessKeyId=%s&SignatureMethod=HMAC-SHA1&Version=2014-05-26&Signature=%s&Action=%s&SignatureNonce=%s'%(ydate,'cn-hangzhou',yunid,mysign,'DescribeInstances',uuid)
    myurl=head+url
    s=requests.session()
    print s.get(myurl).content
  • 相关阅读:
    在k8s上部署第一个php应用
    在k8s中的基本概念
    kubernetes 环境搭建
    docker搭建私有仓库
    mysql导入数据乱码的解决
    代码单词
    让代码更容易读
    docker中的link
    docker基本
    解决无法将“babel”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13348933.html
Copyright © 2011-2022 走看看