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

    # -*- 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
    def get_url(a,b):
        #mysign=_init('region1','DescribeRegions')
        x=a
        y=b
        mysign = _init(x, y)
        print mysign
        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,x,yunid,mysign,y,uuid)
        myurl=head+url
        print  myurl
        s=requests.session()
        print s.get(myurl).content
    
    print get_url('region1','DescribeRegions')
    print get_url('cn-hangzhou','DescribeInstances')
  • 相关阅读:
    博客的开端,找对象不再new
    OpenGL编程 基础篇(六)OpenGL中几种光照参数
    OpenGL编程 基础篇(五)世界窗口和视口
    百练2952:循环数
    百练2811:熄灯问题
    百练2812:恼人的青蛙
    百练3177:判决素数个数
    百练1248:Safecracker
    OpenGL编程 基础篇(四)与鼠标的交互
    OpenGL编程 基础篇(三)用点集绘制函数
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13348932.html
Copyright © 2011-2022 走看看