前言
之前发过一篇文章,用 Python 制作的给父母天气预报提醒的小工具天气变冷了,给父母制作一个天气提醒小助手,这篇文章我同步到博客上之后,有读者在评论区留言,对于部分微信没有网页版接口,导致无法实现这个功能,这位读者建议,建议用发短信的方式,这样,就不会受限于微信的限制。
这里要注意:不管你是为了Python就业还是兴趣爱好,记住:项目开发经验永远是核心,如果你缺新项目练习或者没有python精讲教程,可以关注我,后台私信我 ‘py’ 自动获取最新python教程资料!还有老司机解答哦!
![4929c55d098e363d4757961699a2f42c.png](https://i-blog.csdnimg.cn/blog_migrate/079b4394e115e1be3afcfc4923aa85ec.jpeg)
这是一个好方法,今天的教程就是教大家怎么发送免费短信给女朋友。
发送短信接口,我知道的常见的有两个平台,一个是 twilio,可以免费发短信 500 条,可发任意信息,一个是腾讯云,可以免费发短信 100 条,需要申请短信发送内容模板。
鉴于 twilio 免费次数多一些,所以,这次我们就 twilio来发送当天的天气信息给爸妈了。
twilio注册
要发送短信,我们需要现在 twilio 官网注册一个账号。
https://www.twilio.com/
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
点击 Sign Up 注册一个账号。
![83fb5b028f0fea51e63c56e41a806773.png](https://i-blog.csdnimg.cn/blog_migrate/64fa6959d35c3cdaf75dfeabf20354b6.jpeg)
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
填写邮箱和密码等资料,提交后会有一个判断是否为机器人的验证,点击左右箭头使图案显示为正图就可以了。
再到刚才填写的邮箱中去验证下,需要填入手机号验证。
![c79171df0ee2a2682b36177209efd4f3.png](https://i-blog.csdnimg.cn/blog_migrate/6baec6b27198f89648197e72234715ec.jpeg)
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
刚开始用了移动号发了两次都没有收到验证码,不知道什么原因,之后换了电信后就收到了验证码。
验证成功后会提示选择是否通过代码调用。
![2b0554850e774df7f1295cc96358b4f3.png](https://i-blog.csdnimg.cn/blog_migrate/60433450b40670014eac54290aa9db35.jpeg)
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
选择 yes 后再选择对应的语言,我们当然是选择 Python 了。
![cde3856645d6bf0f2bfe932d21bf46e5.png](https://i-blog.csdnimg.cn/blog_migrate/f67f35fbb3592fbd0807677ec143a96f.jpeg)
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
获取试用号
选择使用用途后,可以就可以获取一个试用的号码了,点击 Get a Trial Number 按钮。
![41d92886abf82c1581fc63d2af6b8c85.png](https://i-blog.csdnimg.cn/blog_migrate/f4882dc9942d9586cc5dd0501502f9ae.jpeg)
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
我们可以看到系统给我提供的这个号码。
![b75a827a8551f80a3fb1ce3094345238.png](https://i-blog.csdnimg.cn/blog_migrate/70f01294faf3ba27fd340e38b8c503e2.jpeg)
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
点击确定后就会出现成功的页面,显示 Twilio 提供的号码,这个号码就是用来发送短信的。
![fb445a9eb38d6bc524372a30a7f32e51.png](https://i-blog.csdnimg.cn/blog_migrate/36af11116f372db809c607aa664417b2.jpeg)
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
获取号码成功后自动跳回到主页,下方有 Python 调用短信接口的示例。
![62f061cb50a967a8f7b4e48ae180065b.png](https://i-blog.csdnimg.cn/blog_migrate/7b9975c4d6e13dc81cd4c2388344df1e.jpeg)
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
进入接口调用说明后,我们看到右边直接由 Python 调用接口发短信的示例。
![9729a37c37ea51d45489a3e5948bb871.png](https://i-blog.csdnimg.cn/blog_migrate/6de76713d6fa6d82ad240b7c2ebbeaed.jpeg)
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
我们直接拿来用即可,把代码中 account_sid 和 auth_token 替换成自己的,这个两个值在刚才显示号码那个页面。
![f3a3fe4fdc54d53fd6d51f2b59469b99.png](https://i-blog.csdnimg.cn/blog_migrate/869ad4b4e6f967e70cd5dcd326e6763d.jpeg)
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
再把 message 中的 body 换成你自己的文本,把发送信息的号码换成官方提供的号码。
接收号验证
接收号码在使用前,需要在 Twilio 上验证下,点击右侧的 verified numbers 进入,添加号码。
![7688219d97d36420a2543684720433ca.png](https://i-blog.csdnimg.cn/blog_migrate/f37b3ff5f533783938d9b72c511b0134.jpeg)
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
因为这是免费版,所以只支持一个号码,如果之前有验证号码的话,我们需要点击右侧的 X 把这个号码号码删除才能添加新的号码。
![12f86e16d8fdb16ef08f1165d95b4d88.png](https://i-blog.csdnimg.cn/blog_migrate/3f8fb101d452e861383a9859d8585641.jpeg)
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
点击验证号码的按钮后,在弹出的页面选择左下方的 text you instead,也就是用短信验证码来验证新添加的号码,你要发给女朋友,当然,这个接收的号码都填女朋友的了。
![83ba77ee76ebd45fb791d9d4c44618f5.png](https://i-blog.csdnimg.cn/blog_migrate/a9084c8fb4ec17dd8b4266b4a8c32c3a.jpeg)
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
填入号码后,点击验证,等待验证码。
![2e4a47abe2b6ee1dfda3c4793eeac4d1.png](https://i-blog.csdnimg.cn/blog_migrate/e20c2724197c2459d380cd2511adf474.jpeg)
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
我分别试了移动号、联通号、电信号,发现电信号和联通卡能正常收到验证码通过验证,移动号发了几次都收不到验证码,卡里是有余额的,可能是移动卡不支持这个接口,大家可以试试。
代码调试
运行代码前,不要忘了把 twilio 库用 pip 命令安装下。
pip install twilio
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
然后把代码中的几个值替换成自己的。
![cd83f3e46d7d25e83e9bc2e31c15bb87.png](https://i-blog.csdnimg.cn/blog_migrate/e65981bdde31b91680bbdd60f0b2d7d3.jpeg)
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
把刚才验证成功的号添加到代码中,运行代码,成功后就会收到发送的短信。
![afa4ce15df24e03a0b449372a2380440.png](https://i-blog.csdnimg.cn/blog_migrate/d11d95d7705a3bba3a36fb48f8ea075e.jpeg)
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
然后我们把之前的天气信息用短信发出去,当然你可以发送其他信息。这里我为了偷懒,用之前的天气信息来举例,发金山词霸语句的代码我也放一起了。
之前的代码中把微信相关的去掉,天气接口部分保留。
![cc4158feb68ab550d4e75ed459c18c73.png](https://i-blog.csdnimg.cn/blog_migrate/3c1de7497db4efb9d50d361595aa4b1c.jpeg)
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
把其中的 key 换成自己的,具体操作详见这篇文章天气变冷了,给父母制作一个天气提醒小助手。
把刚才发送短信的内容替换成天气接口返回的信息 msg,定时操作的代码和之前一样。
![cbdc96a3b04a9e04e4b9667a58192fd8.png](https://i-blog.csdnimg.cn/blog_migrate/83e686ae2531693998738d4486e81df9.jpeg)
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
运行代码后的效果如下:
![4267d99532165dcd3bbc8642793551dd.png](https://i-blog.csdnimg.cn/blog_migrate/7bc9a47eeaa977802fc5d8eb721ff830.jpeg)
![569bdbc827d96a8f946188ea6cdaeafd.gif](https://i-blog.csdnimg.cn/blog_migrate/9bafddde5f2ff7e4462a417ed3a18c60.gif)
同样,我还是把程序放在服务器上,第二天同一时间会继续发送当天的天气信息,我设置的是相隔 24 小时,当然,你可以改变相隔时间。注意:不管你是为了Python就业还是兴趣爱好,记住:项目开发经验永远是核心,如果你缺新项目练习或者没有python精讲教程,可以关注我,后台私信我 ‘py’ 自动获取最新python教程资料!还有老司机解答哦!
本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。