[python][工具]阿里云平台短信验证功能

验证码短信API接口服务商
阿里云API文档
requests库

本文记录用python调用API接口实现登录短信功能验证

API说明

调用地址:http://yzxyzm.market.alicloudapi.com/yzx/verifySms
请求方式:POST
返回类型:JSON

请求参数(Query)

名称类型是否必选描述
phoneSTRING必选需要发送的手机号码
templateIdSTRING必选模板id,联系客服人员申请成功的模板ID
variableSTRING可选模板中变量参数名,参数值有多个时使用","隔开,例如"num:1234,money:888"

正常返回示例

{
  "return_code": "00000",
  "order_id": "YZXV15........825"
}

失败返回示例

{
  " return_code": "10000"
}

错误码定义

错误码错误信息描述
10000参数异常必传参数有空值()

python实现

创建GetSms.py

import requests
import json

def send_single_sms(apikey, code, mobile):
    # 定义函数传递三个值分别为API密匙,验证码,手机号
    url_part1 = "http://yzxyzm.market.alicloudapi.com/yzx/verifySms?"
    url_part2 = "phone={0}&templateId=TP18040314&variable=code%3A{1}".format(mobile,code)
    url = url_part1 + url_part2
    #传递参数手机号及验证码,拼接两部分链接,
    headers = {
        ‘Authorization‘: ‘APPCODE ‘ + apikey
    }
    #使用headers添加报头
    res = requests.post(url, headers=headers)
    re_json = json.loads(res.text)
    return re_json

if __name__ == "__main__":
    res = send_single_sms("75e8e13sc0454bf594974a15cc2f4caf", "12344","13500031234")  #参数:API密匙,验证码,手机号
    print(res)

    code = res[‘return_code‘]
    print(type(code))
    print(code)

    if code == ‘00000‘:
        print("发送成功")
    else:
        print("发送失败: {}".format(code))

curl 实现

curl -i -X POST ‘http://yzxyzm.market.alicloudapi.com/yzx/verifySms?phone=135XXXX9999&templateId=TP18040314&variable=code%3A1234‘ -H ‘Authorization:APPCODE 你自己的AppCode‘