阿里云自动获取token值(python)

一,token说明

  token的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。当用户第一次登录后,服务器生成一个token并将此token返回给客户端,以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。

  简单token的组成;uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,token的前几位以哈希算法压缩成的一定长度的十六进制字符串。为防止token泄露)。

二,通过CommonRequest获取

1,预处理

安装所需的库

1 pip install aliyun-python-sdk-core==2.13.3 # 安装阿里云SDK核心库

2,获取阿里云账户中的特定ID

<您的AccessKey Id>

<您的AccessKey Secret>

 

图1 accesskeys所在页面

 

图2 AccessKey ID & Secret

备注:在这里你已经提前知道AccessKey ID和 AccessKey Secret的值

 

 3,通过调用库函数获取实时更新的token值

 1 # -*- coding: utf8 -*-
 2 from aliyunsdkcore.client import AcsClient
 3 from aliyunsdkcore.request import CommonRequest
 4 # 创建AcsClient实例
 5 client = AcsClient("<您的AccessKey Id>","<您的AccessKey Secret>", "cn-shanghai")
 6 
 7 # 创建request,并设置参数
 8 request = CommonRequest()
 9 request.set_method('POST')
10 request.set_domain('nls-meta.cn-shanghai.aliyuncs.com')
11 request.set_version('2019-02-28')
12 request.set_action_name('CreateToken')
13 response = client.do_action_with_exception(request)
14 print(response)

输出样例:

 1 b'{
 2 
 3 "NlsRequestId":"5fdf964de5f6406da981dc001a18da0d",
 4 "RequestId":"66654590-FCAB-4A58-8799-6444E36A6566",
 5 "ErrMsg":"",
 6 "Token":    
 7 {"ExpireTime":1558173907,
 8 "Id":"4429326e948245a7aee32eeb55c347a9",
 9 "UserId":"1491153441675107"}
10 
11 }'

其中‘Token’中的Id即为所求的token值

三,参考链接

获取Token(阿里云官方文档) https://help.aliyun.com/document_detail/72153.html?spm=a2c4g.11186623.2.29.22555275cuc2Ne#h2--commonrequest-5

原文地址:https://www.cnblogs.com/Mufasa/p/10880698.html