使用 Python 发送短信?
上回食行生鲜签到,我们说到怎么把签到结果发出来,于是就找到了 Twilio。
Twilio 是一个位于加利福尼亚的云通信(PaaS)公司,致力于为开发者提供通讯模块的 API。由于 Twilio 为试用帐户提供了免费电话短信服务,我们可以在申请需要短信验证的国外免费资源时,使用 Twilio 在线实时收取验证短信。下面,本站就详细介绍一下 Twilio 的申请及短信发送过程。
注册及设置
访问 http://twilio.com/ 并填写注册表单。注册了新账户后,你需要验证一个手机号码,短信将发给该号码。还需要做一个人机验证,证明你是一个人!
注册成功后,需要新建一个 Project,进入 Project 界面后可以看到有 SID 和 TOKEN 信息,后面代码中会用到:

你需要激活一个电话号码,就是让 Twilio 分配一个,分配成功后,就可以用它来发短信了。在 Project 页面 Phone Numbers 下操作即可:

想要使用 Twilio 号码发送短信,需要先验证收信方的手机号码。在 Phone Numbers 选项卡中选择 Verified Caller IDs,进入号码验证页面,选择使用短信验证。



输入手机验证码,确认后即完成了接收方的手机验证。
下面,我们就可以使用代码来发送短信了。
使用
首先,要安装,很简单:
pip install twilio
其实 Twilio 官方文档提供了各种代码发送短信的方式,如 Python:
# Download the helper library from https://www.twilio.com/docs/python/install
from twilio.rest import Client
# Your Account Sid and Auth Token from twilio.com/console
account_sid = 'AC4e30ba292bcf6fc97ca656aa71b34bc6'
auth_token = 'your_auth_token'
client = Client(account_sid, auth_token)
message = client.messages.create(
from_='+15017122661',
body='body',
to='+15558675310'
)
print(message.sid)
这里,需要 Twilio 提供的试用账户包括一个电话号码,它将作为短信的发送者。还需要两个信息:你的账户 SID 和 TOKEN,Python 中,这些值将作为你的 Twilio 用户名和密码。
另外,to 的手机号需要是已经验证过的!
发送效果:

由于是试用账号,所以带有一些 Twilio 试用字样。也许在哪里设置可以去掉,有兴趣的可以研究下。
上次食行签到领积分里我们说过是不是有办法提醒签到成功,这里就可以操作了,定义一个发送短信的函数,将签到信息发送到指定号码上就行啦:
def send_sms(text):
account_sid = 'your_sid'
auth_token = 'your_auth_token'
client = Client(account_sid, auth_token)
message = client.messages.create(
from_='your_from_num',
body=text,
to='your_to_num'
)
print(message.sid)
完整代码后台回复「食行生鲜」即可获取。
总结
Twilio 的使用还是很简单的,另外官方的文档也很赞,都提供了示例代码。这里我们仅仅演示了发送短信的功能,有兴趣的还可以试一下接收短信、拨打电话等功能。
如果 Twilio 的注册过程比较懵,可以参考下这篇:http://uuxn.com/twilio-toll-free-sms
使用 Python 发送短信?的更多相关文章
- Python发送短信提醒
Python发送短信可借助腾讯云平台提供的短信服务 发送短信需要的及格参数: 1.SDK_AppID和SDK_Key 2.签名: 3.模板ID 下面贴出源码DEMO: from qcloudsms_p ...
- python发送短信验证码
业务: 手机端点击发送验证码,请求发送到python端,由python调用第三方平台(我们使用的是榛子云短信http://smsow.zhenzikj.com)的短信接口,生成验证码并发送. SDK下 ...
- python发送短信和发送邮件
先注册好 发短信脚本内容 #接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. #账户注册:请通过该地址开通账户http://sms.ihuyi.com/register.html ...
- python-在python3中使用容联云通讯发送短信验证码
容联云通讯是第三方平台,能够提供短信验证码和语音通信等功能,这里只测试使用短信验证码的功能,因此只需完成注册登录(无需实名认证等)即可使用其短信验证码免费测试服务,不过免费测试服务只能给控制台中指定的 ...
- python每天定时发送短信脚本
最近业务上需要每天解析txt文本或者excel文件,读取内容发送短信,发送的时间段可控,用python实现 安装pip依赖 pip install -r requirement.txt xlrd Py ...
- 利用python库twilio来免费发送短信
大家好,我是四毛,最近开通了个人公众号“用Python来编程”,欢迎大家“关注”,这样您就可以收到优质的文章了. 今天跟大家分享的主题是利用python库twilio来免费发送短信. 先放一张成品图 ...
- 使用python移动飞信模块发送短信
作者:miaoo 1.应用场景 由于自己做的一个系统需要用到发送短信到自己手机的功能,于是搜索了一下,发现了一个通过移动飞信通道发送短信开源库:PyFetion PyFetion 模拟实现了飞信的通信 ...
- 注册登录页面修订-Python使用redis-手机验证接口-发送短信验证
登录页面修订 views.Login.vue <template> <div class="login box"> <img src="@/ ...
- MonkeyRunner执行Python脚本实例——发送短信增强版
很久之前就写好的了,准备写个自动执行Monkey的脚本时才想到去找它,还是写在博客里找起来方便. 这次更新了批处理自动连接设备后执行Py脚本,结构如下图: 其中shotscreen为存放截图文件夹,s ...
随机推荐
- Pairs of Integers
Pairs of Integers You are to find all pairs of integers such that their sum is equal to the given in ...
- 第二课 创建http server
nodejs 不需要单独安装服务器软件 tomcat .apache. iis 看下面的代码创建了http服务器,并输出一些简单的响应内容 //引入http 模块 var http = require ...
- POJ 1584 A Round Peg in a Ground Hole【计算几何=_=你值得一虐】
链接: http://poj.org/problem?id=1584 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22013#probl ...
- lua面向对象封装
lua面向对象的一个封装,直接贴代码 --swfclass = {};local cs = {};function _class( child, base, ... )-- _.s( child ...
- git克隆远程分支
$ git branch –r 查看远程branch信息 $ git checkout origin/dev检出远程分支 $ git branch -a 查看所有分支,包括本地和远程 可以使用chec ...
- 聊聊数据库~6.SQL运维中篇
上篇回顾:https://www.cnblogs.com/dotnetcrazy/p/10810798.html#top 1.6.5.MySQL日志相关 本文的测试环境:MySQL5.7.26.Mar ...
- Js拼接html并给onclick传多个参数
return '<a id="" class="ace_button" href="#" onclick="showItem ...
- Python:笔记(1)——基础语法
Python:笔记(1)——基础语法 我很抱歉有半年没有在博客园写过笔记了,客观因素有一些,但主观原因居多,再多的谴责和批判也都于事无补,我们能做的就是重振旗鼓,继续出发! ——写在Python之前 ...
- 【leetcode刷题笔记】Unique Paths II
Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How m ...
- parseInt、parseFloat、Number、Boolean、valueOf总结
parseInt(string, radix) 功能: 将字符串转换为十进制的数字 radix: string的进制,没有时根据string进行判断: 1~9开头 十进制 0x开头 16进制 0开头 ...