Python基于Twilio及腾讯云实现国际国内短信接口


Posted in Python onJune 18, 2020

短信服务验证服务已经不是什么新鲜事了,但是免费的手机短信服务却不多见,本次利用Python3.0基于Twilio和腾讯云服务分别来体验一下国际短信和国内短信接口。

首先,注册Twilio: www.twilio.com/

注册成功后,获取ACCOUNT SID和AUTH TOKEN,一会要用到

Python基于Twilio及腾讯云实现国际国内短信接口

安装依赖的库

pip3 install twilio

随后编写发送脚本

#导包 导入客户端 
from twilio.rest import Client 
 
#定义短信sid 
account_sid = '你的sid' 
#定义秘钥 
auth_token = '你的秘钥' 
 
#定义客户端对象  
client = Client(account_sid,auth_token) 
message = client.messages.create( 
  to="+8613423432818",   # 接受短信的手机号,也就是注册界面验证过的那个自己的手机号,注意 写中国区号 +86 
  from_="+12118627871",  # 发送短信的美国手机号 区号 +1 
  body="Hello from Python!") 
#打印发送结果 
print(message)

整个过程比较简单,如此你就拥有了一个免费的国际手机短信服务接口,注意发送的手机号要填写手机号的国家区号,另外twilio的额度也并非无限,将会有一个10刀的额度,每发一条将会扣除1美分,所以测试的时候悠着点,别超过额度限制。

国内短信业务这块儿做的比较好的有阿里云,腾讯云,和百度云,另外七牛云和又拍云也有相应的服务,为什么一定要选择腾讯云呢?其实很简单,因为有免费的100条短信可以用。

首先注册腾讯云服务: cloud.tencent.com

注册成功后,腾讯云会自动生成一个短信应用,如果没有默认应用,需要新建一下

Python基于Twilio及腾讯云实现国际国内短信接口

记录一下应用的 appid 以及 appkey 一会要用到

之后配置短信的签名,签名顾名思义,用来限制短信接口的权限,防止被恶意调用,同时签名需要腾讯客服人工审核,大概需要两个小时左右。

Python基于Twilio及腾讯云实现国际国内短信接口

这里推荐使用小程序来做签名类型,同时签名内容是自定义的,证明类型很简单,只需要去微信小程序后台界面截个图即可。

配置好签名,还需要配置一下短信模板,模板的含义也很简单,就是给用户发送的短信内容

Python基于Twilio及腾讯云实现国际国内短信接口

模板中的{}符号是类似通配符的东西,发送短信时用变量进行替换,注意表明索引数量,模板也需要腾讯客服人工审核,大概需要两个小时左右。另外短信长度最好不要超过70字,超过以后长短信就会按每67字一条来计算,那就亏大发了。

以上就是前期的配置,下面安装腾讯云短信的sdk

pip3 install qcloudsms_py

编写发送脚本

# 短信应用SDK AppID 
appid = 你的appid # SDK AppID是1400开头 
 
# 短信应用SDK AppKey 
appkey = "你的appkey" 
 
# 需要发送短信的手机号码 
phone_numbers = ["你要发送的手机号"] 
 
# 短信模板ID,需要在短信应用中申请 
template_id = 在模板列表里获取  
 
# 签名 
sms_sign = "刘悦的技术博客" 
 
from qcloudsms_py import SmsSingleSender 
from qcloudsms_py.httpclient import HTTPError 
 
 
import ssl 
ssl._create_default_https_context = ssl._create_unverified_context 
 
ssender = SmsSingleSender(appid, appkey) 
params = ["6666","5"] # 当模板没有参数时,`params = []` 
try: 
  result = ssender.send_with_param(86, phone_numbers[0], 
    template_id, params, sign=sms_sign, extend="", ext="") # 签名参数不允许为空串 
  print(result) 
except HTTPError as e: 
  print(e) 
except Exception as e: 
  print(e)

整个流程没什么难度,需要注意一点这里为了避免ssl证书的问题需要导入ssl库单独设置一下,最后查看一下结果

Python基于Twilio及腾讯云实现国际国内短信接口

同时腾讯云服务短信比Twilio体验好的一点在于它具有详细的统计后台,方便我们对短信到达率进行监控和统计,对海量用户的群发也比较友好。

Python基于Twilio及腾讯云实现国际国内短信接口

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python多线程编程(六):可重入锁RLock
Apr 05 Python
Python2.7编程中SQLite3基本操作方法示例
Aug 09 Python
Python网络编程之TCP与UDP协议套接字用法示例
Feb 02 Python
sublime python3 输入换行不结束的方法
Apr 19 Python
Scrapy-Redis结合POST请求获取数据的方法示例
May 07 Python
Python检查图片是否损坏及图片类型是否正确过程详解
Sep 30 Python
python支持多继承吗
Jun 19 Python
Python如何利用Har文件进行遍历指定字典替换提交的数据详解
Nov 05 Python
python 实时调取摄像头的示例代码
Nov 25 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
Feb 22 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
Mar 02 Python
python中Matplotlib绘制直线的实例代码
Jul 04 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
Jun 18 #Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
Jun 18 #Python
Win10下用Anaconda安装TensorFlow(图文教程)
Jun 18 #Python
python中tab键是什么意思
Jun 18 #Python
python中可以声明变量类型吗
Jun 18 #Python
tensorflow之读取jpg图像长和宽实例
Jun 18 #Python
Python叠加矩形框图层2种方法及效果
Jun 18 #Python
You might like
php语言流程控制中的主动与被动
2012/11/05 PHP
基于PHP实现简单的随机抽奖小程序
2016/01/05 PHP
基于jQuery架构javascript基础体系
2011/01/01 Javascript
jquery.validate分组验证代码
2011/03/17 Javascript
动态获取复选框checkbox选中个数的jquery代码
2013/06/25 Javascript
node.js中使用socket.io的方法
2014/12/15 Javascript
jQuery 处理页面的事件详解
2015/01/20 Javascript
JavaScript使表单中的内容显示在屏幕上的方法
2015/06/29 Javascript
基于jQuery实现仿微博发布框字数提示
2016/07/27 Javascript
js表单登陆验证示例
2016/10/19 Javascript
javascript实现右下角广告框效果
2017/02/01 Javascript
老生常谈javascript中逻辑运算符&&和||的返回值问题
2017/04/13 Javascript
JS数组交集、并集、差集的示例代码
2017/08/23 Javascript
解决vue页面DOM操作不生效的问题
2018/03/17 Javascript
微信小程序云开发实现云数据库读写权限
2019/05/17 Javascript
解析原来浏览器原生支持JS Base64编码解码
2019/08/12 Javascript
js仿360开机效果
2019/12/26 Javascript
详解Python中where()函数的用法
2018/03/27 Python
使用Django2快速开发Web项目的详细步骤
2019/01/06 Python
Python中Numpy mat的使用详解
2019/05/24 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
python如何使用代码运行助手
2020/07/03 Python
英国假发网站:Hothair
2018/02/23 全球购物
Nicole Miller官方网站:纽约女装品牌
2019/09/14 全球购物
西班牙用户之间买卖视频游戏的平台:Wakkap
2020/03/21 全球购物
高考备战决心书
2014/03/11 职场文书
无毒社区工作方案
2014/05/23 职场文书
体育专业自荐书
2014/05/29 职场文书
领导班子作风建设年个人整改措施
2014/09/29 职场文书
领导工作表现评语
2015/01/04 职场文书
初三毕业感言
2015/07/31 职场文书
高三语文教学反思
2016/02/16 职场文书
golang slice元素去重操作
2021/04/30 Golang
pytorch 权重weight 与 梯度grad 可视化操作
2021/06/05 Python
《战锤40K:暗潮》跳票至9月 公布新宣传片
2022/04/03 其他游戏
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电