importos, sys
import
hashlib
import
hmac
import
base64
import
urllib
import
time
import
uuid
import
requests
defget_iso8601_time():
'''返回iso8601格式的時間
'''time_zone = "
gmt"
format_iso8601 = "
%y-%m-%dt%h:%m:%sz
"return
time.strftime(format_iso8601, time.gmtime())
defget_uuid():
'''返回uuid
'''return
str(uuid.uuid4())
defget_parameters(user_param, action, accesskeyid, version):
'''拼接引數字典
user_param:
action操作例如:createloadbalancer
accesskeyid:access key id
version: 介面的版本
'''把公共引數拼接成字串
'''param_str = ''
for (k, v) in
sorted(parameters.items()):
param_str += "
&" + urllib.quote(k, safe='') + "
=" + urllib.quote(v, safe=''
) param_str = param_str[1:]
return
param_str
defget_stringtosign(parameters, param_str):
'''拼接生成簽名的字串
'''構建簽名
'''h =hmac.new(accesskeysecret, stringtosign, hashlib.sha1)
signature =base64.encodestring(h.digest()).strip()
return
signature
defbuild_request(server_url, param_str, signature, accesskeysecret):
'''拼接url並進行請求
'''signature = "
signature=
" +urllib.quote(signature)
param = param_str + "
&" +signature
request_url = server_url +param
s =requests.get(request_url)
s.content
s
return
sdef
get_regions(server_url, action, user_param, accesskeysecret, accesskeyid, version):
'''對請求進行模組
server_url: slb.aliyun.com
action = 'describeregions'
accesskeysecret, accesskeyid:也就是ak
user_param =
version:例如slb的版本是2014-05-15,每個服務都不相同
阿里雲認證簽名生成
呼叫阿里雲介面,需要在headers中新增簽名 x ca signature欄位 以whois查詢介面為例 阿里雲生成認證字串文件 以nodejs為例 const domainname your domain name const apiurl const headers path 除根路徑以外的其...
阿里雲API閘道器使用教程
api 閘道器 api gateway 提供api託管服務,涵蓋api發布 管理 運維 售賣的全生命週期管理。輔助使用者簡單 快速 低成本 低風險的實現微服務聚合 前後端分離 系統整合,向合作夥伴 開發者開放功能和資料。關於api閘道器的詳細內容 阿里雲api閘道器使用教程 更多精品課程 7天玩轉雲...
阿里雲API閘道器使用教程
api 閘道器 api gateway 提供高效能 高可用的 api 託管服務,幫助使用者對外開放其部署在 ecs 容器服務等阿里雲產品上的應用,提供完整的 api 發布 管理 維護生命週期管理。使用者只需進行簡單的操作,即可快速 低成本 低風險地開放資料或服務。輔助使用者簡單 快速 低成本 低風險...