1. 旧版:pip install aliyun-python-sdk-core3
  2. 新版:pip install aliyun-python-sdk-core-v3

image-20200719154644128

image-20200719154708203

AccessKey IDAccessKey Secret后面会用到

image-20200719155611239

image-20200719155718067

image-20200719160035841

image-20200719160452863

官方提供的DEMO如下

  1. from aliyunsdkcore.client import AcsClient
  2. from aliyunsdkcore.request import CommonRequest
  3. client = AcsClient(\'<accessKeyId>\', \'<accessSecret>\', \'default\')
  4. request = CommonRequest()
  5. request.set_accept_format(\'json\')
  6. request.set_domain(\'dysmsapi.aliyuncs.com\')
  7. request.set_method(\'POST\')
  8. request.set_protocol_type(\'https\') # https | http
  9. request.set_version(\'2017-05-25\')
  10. request.set_action_name(\'SendSms\')
  11. request.add_query_param(\'RegionId\', "default")
  12. request.add_query_param(\'PhoneNumbers\', "接收验证码的手机号")
  13. request.add_query_param(\'SignName\', "你的签名名称")
  14. request.add_query_param(\'TemplateCode\', "你的模版CODE")
  15. response = client.do_action(request)
  16. # python2: print(response)
  17. print(str(response, encoding = \'utf-8\'))
  1. # checkCode.py
  2. from aliyunsdkcore.client import AcsClient
  3. from aliyunsdkcore.request import CommonRequest
  4. def send_sms(template, mobile):
  5. client = AcsClient(\'你的AccessKey ID\', \'你的Access Key Secret\', \'default\')
  6. request = CommonRequest()
  7. request.set_accept_format(\'json\')
  8. request.set_domain(\'dysmsapi.aliyuncs.com\')
  9. request.set_method(\'POST\')
  10. request.set_protocol_type(\'https\') # https | http 注意当项目发布到服务器上需要修改协议
  11. request.set_version(\'2017-05-25\')
  12. # set_action_name 选择调用的接口的名称,如:SendSms,SendBatchSms等
  13. request.set_action_name(\'SendSms\')
  14. request.add_query_param(\'RegionId\', "default") # 98A66994-3DF4-4FA5-A33F-CCB36EB599D0
  15. # request.add_query_param(\'RegionId\', "cn-hangzhou")
  16. request.add_query_param(\'PhoneNumbers\', mobile) # 发送的人
  17. request.add_query_param(\'SignName\', "你的签名名称") # 签名
  18. request.add_query_param(\'TemplateCode\', "你的模板编号") # 模板编号
  19. request.add_query_param(\'TemplateParam\', f"{template}") # 发送验证码内容
  20. response = client.do_action_with_exception(request)
  21. # response = client.do_action(request)
  22. # # python2: print(response)
  23. # print(str(response, encoding=\'utf-8\'))
  24. return response
  1. code = "%06d" % random.randint(0, 999999)
  2. # 将验证码存入session
  3. request.session[\'sms\'] = code
  4. template = {
  5. \'code\': code,
  6. }
  7. res = send_sms(template, mobile) #
  8. res_dict = json.loads(res)
  9. if res_dict.get(\'Message\') == \'OK\' and res_dict.get(\'Code\') == \'OK\':
  10. return APIResponse(\'ok\')
  11. else:
  12. return APIResponse(status=0, msg=\'error\')

版权声明:本文为guanxiying原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/guanxiying/p/13340398.html