前言
之前发过一篇文章,用 Python 制作的给父母天气预报提醒的小工具天气变冷了,给父母制作一个天气提醒小助手,这篇文章我同步到博客上之后,有读者在评论区留言,对于部分微信没有网页版接口,导致无法实现这个功能,这位读者建议,建议用发短信的方式,这样,就不会受限于微信的限制。
这是一个好方法,今天的教程就是教大家怎么发送免费短信给女朋友。
发送短信接口,我知道的常见的有两个平台,一个是 twilio,可以免费发短信 500 条,可发任意信息,一个是腾讯云,可以免费发短信 100 条,需要申请短信发送内容模板。
鉴于 twilio 免费次数多一些,所以,这次我们就 twilio来发送当天的天气信息给爸妈了。
twilio注册
要发送短信,我们需要现在 twilio 官网注册一个账号。
- https://www.twilio.com/
点击 Sign Up 注册一个账号。
填写邮箱和密码等资料,提交后会有一个判断是否为机器人的验证,点击左右箭头使图案显示为正图就可以了。
再到刚才填写的邮箱中去验证下,需要填入手机号验证。
刚开始用了移动号发了两次都没有收到验证码,不知道什么原因,之后换了电信后就收到了验证码。
验证成功后会提示选择是否通过代码调用。
选择 yes 后再选择对应的语言,我们当然是选择 Python 了。
获取试用号
选择使用用途后,可以就可以获取一个试用的号码了,点击 Get a Trial Number 按钮。
我们可以看到系统给我提供的这个号码。
点击确定后就会出现成功的页面,显示 Twilio 提供的号码,这个号码就是用来发送短信的。
获取号码成功后自动跳回到主页,下方有 Python 调用短信接口的示例。
进入接口调用说明后,我们看到右边直接由 Python 调用接口发短信的示例。
我们直接拿来用即可,把代码中 account_sid 和 auth_token 替换成自己的,这个两个值在刚才显示号码那个页面。
再把 message 中的 body 换成你自己的文本,把发送信息的号码换成官方提供的号码。
接收号验证
接收号码在使用前,需要在 Twilio 上验证下,点击右侧的 verified numbers 进入,添加号码。
因为这是免费版,所以只支持一个号码,如果之前有验证号码的话,我们需要点击右侧的 X 把这个号码号码删除才能添加新的号码。
点击验证号码的按钮后,在弹出的页面选择左下方的 text you instead,也就是用短信验证码来验证新添加的号码,你要发给女朋友,当然,这个接收的号码都填女朋友的了。
填入号码后,点击验证,等待验证码。
我分别试了移动号、联通号、电信号,发现电信号和联通卡能正常收到验证码通过验证,移动号发了几次都收不到验证码,卡里是有余额的,可能是移动卡不支持这个接口,大家可以试试。
代码调试
运行代码前,不要忘了把 twilio 库用 pip 命令安装下。
- pip install twilio
然后把代码中的几个值替换成自己的。
把刚才验证成功的号添加到代码中,运行代码,成功后就会收到发送的短信。
然后我们把之前的天气信息用短信发出去,当然你可以发送其他信息。这里我为了偷懒,用之前的天气信息。
之前的代码中把微信相关的去掉,天气接口部分保留。
把其中的 key 换成自己的,具体操作详见这篇文章天气变冷了,给父母制作一个天气提醒小助手。
把刚才发送短信的内容替换成天气接口返回的信息 msg,定时操作的代码和之前一样。
运行代码后的效果如下:
同样,我还是把程序放在服务器上,第二天同一时间会继续发送当天的天气信息,我设置的是相隔 24 小时,当然,你可以改变相隔时间。