python可以实现什么黑科技_实用黑科技!利用python给手机发短信

之前告诉大家使用python可以应用于很多场景,除了大家所知道的,今天给大家带来一个特别好玩的事情,就是能用python去发短信,赶紧看下文吧~

准备工作内容:

SDK AppID、App Key、应用签名、短信正文模板ID

1、安装 qcloudsms_py、安装pip

qcloudsms_py采用pip进行安装,要使用qcloudsms功能,只需要执行:pip install qcloudsms_py

2、手动下载或clone最新版本qcloudsms_py代码

3、在qcloudsms_py目录运行pythonsetup.pyinstall或直接把qcloudsms_py所在目录加入sys.path(python2/python3都支持)

4、如果我们直接按官方的案例实现,会出现ssl:certificate_verify_failed这个问题,报错如下:rubyCaughtvmodlfault:[SSL:CERTIFICATE_VERIFY_FAILED]certificateverifyfailed(_ssl.c:590)

产生这个问题的原因在于python本身,pyhon升级到2.7.9以后,引入了一个新特性,当使用urllib打开https的链接时,会检验一次ssl证书。而当目标网站使用的是自签名证书时,就会抛出urllib2.URLError的错误,所以我们这里导入了ssl的包来避免这个问题。# @Time : 2020/5/24 22:13# @Author : 编程技术圈# @Site : # @File : send_msg.py# @Software: PyCharm

from qcloudsms_py import SmsSingleSenderfrom qcloudsms_py.httpclient import HTTPErrorimport randomimport ssl

ssl._create_default_https_context = ssl._create_unverified_context

# 使用腾讯云发送手机6位随机验证码class TestQCloudSMS(object): def __init__(self, phone_num): self.appid ='' # 准备工作中的SDK AppID,类型:int self.appkey = '' # 准备工作中的App Key,类型:str self.phone_num = phone_num self.sign = '' # 准备工作中的应用签名,类型:str

def make_code(self): """ :return: code 6位随机数 """ code = '' for item in range(6): code += str(random.randint(0, 9)) return code

def send_msg(self): ssender = SmsSingleSender(self.appid, self.appkey) try: # parms参数类型为list rzb = ssender.send_with_param(86, self.phone_num, 613429, [self.make_code()], sign=self.sign, extend='', ext='') print(rzb) except HTTPError as http: print("HTTPError", http) except Exception as e: print(e)

if __name__ == '__main__': phone_num = ['156********'] sendmsg = TestQCloudSMS(random.choices(phone_num)[0]) # 需传入发送短信的手机号,单发 sendmsg.send_msg

1603875259865024.png

当我们程序运行后,返回的"errmsg"为"ok"的时候,就发送成功了,这时我们看下手机有没有收到:

1603875267873195.png

显示上图内容正是我们定制的模板内容,感兴趣的可以尝试下哦~如需更多python实用知识,点击进入PyThon学习网教学中心。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值