前言

之前发过一篇文章,用 Python 制作的给父母天气预报提醒的小工具天气变冷了,给父母制作一个天气提醒小助手,这篇文章我同步到博客上之后,有读者在评论区留言,对于部分微信没有网页版接口,导致无法实现这个功能,这位读者建议,建议用发短信的方式,这样,就不会受限于微信的限制。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。 谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第1张
 

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第2张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第3张

这是一个好方法,今天的教程就是教大家怎么发送免费短信给女朋友。

发送短信接口,我知道的常见的有两个平台,一个是 twilio,可以免费发短信 500 条,可发任意信息,一个是腾讯云,可以免费发短信 100 条,需要申请短信发送内容模板。

鉴于 twilio 免费次数多一些,所以,这次我们就 twilio来发送当天的天气信息给爸妈了。

twilio注册

要发送短信,我们需要现在 twilio 官网注册一个账号。

https://www.twilio.com/
谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第4张

点击 Sign Up 注册一个账号。

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第5张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第6张

填写邮箱和密码等资料,提交后会有一个判断是否为机器人的验证,点击左右箭头使图案显示为正图就可以了。

再到刚才填写的邮箱中去验证下,需要填入手机号验证。

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第7张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第8张

刚开始用了移动号发了两次都没有收到验证码,不知道什么原因,之后换了电信后就收到了验证码。

验证成功后会提示选择是否通过代码调用。

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第9张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第10张

选择 yes 后再选择对应的语言,我们当然是选择 Python 了。

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第11张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第12张

获取试用号

选择使用用途后,可以就可以获取一个试用的号码了,点击 Get a Trial Number 按钮。

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第13张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第14张

我们可以看到系统给我提供的这个号码。

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第15张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第16张

点击确定后就会出现成功的页面,显示 Twilio 提供的号码,这个号码就是用来发送短信的。

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第17张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第18张

获取号码成功后自动跳回到主页,下方有 Python 调用短信接口的示例。

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第19张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第20张

进入接口调用说明后,我们看到右边直接由 Python 调用接口发短信的示例。

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第21张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第22张

我们直接拿来用即可,把代码中 account_sid 和 auth_token 替换成自己的,这个两个值在刚才显示号码那个页面。

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第23张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第24张

再把 message 中的 body 换成你自己的文本,把发送信息的号码换成官方提供的号码。

接收号验证

接收号码在使用前,需要在 Twilio 上验证下,点击右侧的 verified numbers 进入,添加号码。

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第25张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第26张

因为这是免费版,所以只支持一个号码,如果之前有验证号码的话,我们需要点击右侧的 X 把这个号码号码删除才能添加新的号码。

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第27张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第28张

点击验证号码的按钮后,在弹出的页面选择左下方的 text you instead,也就是用短信验证码来验证新添加的号码,你要发给女朋友,当然,这个接收的号码都填女朋友的了。

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第29张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第30张

填入号码后,点击验证,等待验证码。

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第31张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第32张

我分别试了移动号、联通号、电信号,发现电信号和联通卡能正常收到验证码通过验证,移动号发了几次都收不到验证码,卡里是有余额的,可能是移动卡不支持这个接口,大家可以试试。

代码调试

运行代码前,不要忘了把 twilio 库用 pip 命令安装下。

pip install twilio
谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第33张

然后把代码中的几个值替换成自己的。

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第34张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第35张

把刚才验证成功的号添加到代码中,运行代码,成功后就会收到发送的短信。

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第36张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第37张

然后我们把之前的天气信息用短信发出去,当然你可以发送其他信息。这里我为了偷懒,用之前的天气信息来举例,发金山词霸语句的代码我也放一起了。

之前的代码中把微信相关的去掉,天气接口部分保留。

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第38张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第39张

把其中的 key 换成自己的,具体操作详见这篇文章天气变冷了,给父母制作一个天气提醒小助手

把刚才发送短信的内容替换成天气接口返回的信息 msg,定时操作的代码和之前一样。

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第40张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第41张

运行代码后的效果如下:

谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第42张谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信 Python 第43张

同样,我还是把程序放在服务器上,第二天同一时间会继续发送当天的天气信息,我设置的是相隔 24 小时,当然,你可以改变相隔时间。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄