Python基于Twilio及腾讯云实现国际国内短信接口

短信服务验证服务已经不是什么新鲜事了,但是免费的手机短信服务却不多见,本次利用Python3.0基于Twilio和腾讯云服务分别来体验一下国际短信和国内短信接口。

首先,注册Twilio: www.twilio.com/

注册成功后,获取ACCOUNT SID和AUTH TOKEN,一会要用到

安装依赖的库

pip3 install twilio

随后编写发送脚本

#导包 导入客户端
from twilio.rest import Client 

#定义短信sid
account_sid = '你的sid'
#定义秘钥
auth_token = '你的秘钥' 

#定义客户端对象
client = Client(account_sid,auth_token)
message = client.messages.create(
  to="+8613423432818",   # 接受短信的手机号,也就是注册界面验证过的那个自己的手机号,注意 写中国区号 +86
  from_="+12118627871",  # 发送短信的美国手机号 区号 +1
  body="Hello from Python!")
#打印发送结果
print(message)

整个过程比较简单,如此你就拥有了一个免费的国际手机短信服务接口,注意发送的手机号要填写手机号的国家区号,另外twilio的额度也并非无限,将会有一个10刀的额度,每发一条将会扣除1美分,所以测试的时候悠着点,别超过额度限制。

国内短信业务这块儿做的比较好的有阿里云,腾讯云,和百度云,另外七牛云和又拍云也有相应的服务,为什么一定要选择腾讯云呢?其实很简单,因为有免费的100条短信可以用。

首先注册腾讯云服务: cloud.tencent.com

注册成功后,腾讯云会自动生成一个短信应用,如果没有默认应用,需要新建一下

记录一下应用的 appid 以及 appkey 一会要用到

之后配置短信的签名,签名顾名思义,用来限制短信接口的权限,防止被恶意调用,同时签名需要腾讯客服人工审核,大概需要两个小时左右。

这里推荐使用小程序来做签名类型,同时签名内容是自定义的,证明类型很简单,只需要去微信小程序后台界面截个图即可。

配置好签名,还需要配置一下短信模板,模板的含义也很简单,就是给用户发送的短信内容

模板中的{}符号是类似通配符的东西,发送短信时用变量进行替换,注意表明索引数量,模板也需要腾讯客服人工审核,大概需要两个小时左右。另外短信长度最好不要超过70字,超过以后长短信就会按每67字一条来计算,那就亏大发了。

以上就是前期的配置,下面安装腾讯云短信的sdk

pip3 install qcloudsms_py

编写发送脚本

# 短信应用SDK AppID
appid = 你的appid # SDK AppID是1400开头 

# 短信应用SDK AppKey
appkey = "你的appkey" 

# 需要发送短信的手机号码
phone_numbers = ["你要发送的手机号"] 

# 短信模板ID,需要在短信应用中申请
template_id = 在模板列表里获取  

# 签名
sms_sign = "刘悦的技术博客" 

from qcloudsms_py import SmsSingleSender
from qcloudsms_py.httpclient import HTTPError 

import ssl
ssl._create_default_https_context = ssl._create_unverified_context 

ssender = SmsSingleSender(appid, appkey)
params = ["6666","5"] # 当模板没有参数时,`params = []`
try:
  result = ssender.send_with_param(86, phone_numbers[0],
    template_id, params, sign=sms_sign, extend="", ext="") # 签名参数不允许为空串
  print(result)
except HTTPError as e:
  print(e)
except Exception as e:
  print(e)

整个流程没什么难度,需要注意一点这里为了避免ssl证书的问题需要导入ssl库单独设置一下,最后查看一下结果

同时腾讯云服务短信比Twilio体验好的一点在于它具有详细的统计后台,方便我们对短信到达率进行监控和统计,对海量用户的群发也比较友好。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python itchat实现调用微信接口的第三方模块方法

    itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单. 使用不到三十行的代码,你就可以完成一个能够处理所有信息的微信机器人. 当然,该api的使用远不止一个机器人,更多的功能等着你来发现,比如这些. 该接口与公众号接口itchatmp共享类似的操作方式,学习一次掌握两个工具. 如今微信已经成为了个人社交的很大一部分,希望这个项目能够帮助你扩展你的个人的微信号.方便自己的生活. [文章背景]最近几天干啥都不来劲,昨晚偶然了解到Python里的itchat包,它已经完成了we

  • 微信域名检测接口调用演示步骤(含PHP、Python)

    微信域名检测接口是腾讯官方发布的api接口,调用检测接口即可返回域名在微信内的生存状态,如果已被拦截返回结果提示"域名被封",如果未被拦截则返回结果提示"域名正常". 微信域名检测接口(官方) http://www.xiaocaoff.cn/weixin/check-api.php?url=http://www.baidu.com 接口使用说明 1.在线使用 将api接口地址中的 "http://www.baidu.com" 换成你需要检测的域名

  • Python使用微信itchat接口实现查看自己微信的信息功能详解

    本文实例讲述了Python使用微信itchat接口实现查看自己微信的信息功能.分享给大家供大家参考,具体如下: itchat是python的一个api,可以访问自己的微信信息,功能还蛮好玩的,可以扒取朋友信息,自动回复短信等等. package: itchat1.3.10 + python3.5 + wordcloud1.4.1 登录登出: itchat.login() #hotReload设置为True,可以保持一段时间登录 itchat.autologin(hotReload=True) i

  • python调用API接口实现登陆短信验证

    API说明 调用地址:http://yzxyzm.market.alicloudapi.com/yzx/verifySms 请求方式:POST 返回类型:JSON 请求参数(Query) 名称 类型 是否必选 描述 phone STRING 必选 需要发送的手机号码 templateId STRING 必选 模板id,联系客服人员申请成功的模板ID variable STRING 可选 模板中变量参数名,参数值有多个时使用","隔开,例如"num:1234,money:888

  • python实现微信接口(itchat)详细介绍

    前言 itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单.使用不到三十行的代码,你就可以完成一个能够处理所有信息的微信机器人.当然,该api的使用远不止一个机器人,更多的功能等着你来发现,比如这些.该接口与公众号接口itchatmp共享类似的操作方式,学习一次掌握两个工具.如今微信已经成为了个人社交的很大一部分,希望这个项目能够帮助你扩展你的个人的微信号.方便自己的生活. 安装 sudo pip install itchat 登录 itchat.auto_login()

  • Python调用微信公众平台接口操作示例

    本文实例讲述了Python调用微信公众平台接口操作.分享给大家供大家参考,具体如下: 这里使用的是Django,其他类似 # coding=utf-8 from django.http import HttpResponse import hashlib, time, re from xml.etree import ElementTree as ET def weixin(request): token = "your token here" params = request.GET

  • Python+微信接口实现运维报警

    说到运维报警,我觉得都可以写个长篇历史来详细解释了报警的前世来生,比如最早报警都是用邮件,但邮件实时性不高,比如下班回家总不能人一直盯着邮箱吧,所以邮件这种报警方式不适合用来报紧急的故障,日常磁盘利用率监控什么的可以用它来报没问题,网站宕机不能访问这种故障,用它就明显不合适了,那对这种业务稳定性要求比较高的业务,后来就发展成了用短信,就是公司买个短信机,提供一个http接口,然后运维人员写脚本把收集到的异常数据写入文件,然后脚本实时检测如果这个文件不为空,就调用短信机接口把文件里的内容发送出去,

  • Python 通过调用接口获取公交信息的实例

    如下所示: # -*- coding: utf-8 -*- import sys, urllib, urllib2, json city=urllib.quote(sys.argv[1]); url = 'http://apis.baidu.com/xiaota/bus_lines/buses_lines?city=%s&bus=%s&direction=%s'%(city,sys.argv[2],sys.argv[3]) print url req = urllib2.Request(u

  • Python基于Twilio及腾讯云实现国际国内短信接口

    短信服务验证服务已经不是什么新鲜事了,但是免费的手机短信服务却不多见,本次利用Python3.0基于Twilio和腾讯云服务分别来体验一下国际短信和国内短信接口. 首先,注册Twilio: www.twilio.com/ 注册成功后,获取ACCOUNT SID和AUTH TOKEN,一会要用到 安装依赖的库 pip3 install twilio 随后编写发送脚本 #导包 导入客户端 from twilio.rest import Client #定义短信sid account_sid = '你

  • php与阿里云短信接口接入操作案例分析

    本文实例讲述了php与阿里云短信接口接入操作.分享给大家供大家参考,具体如下: 使用阿里云短信API,需要在控制台获取以下必要参数,其中需要自己手机验证+官方审核多次,尤其审核需要保持耐心. 1. accessKeyId  相当于你的个人账户密钥: 2. accessKeySecret 与上是成对的: 3. SignName  个人签名,在发出去的短信中,这个签名会显示在开头,类似 [签名]亲爱的用户...... 这种格式,SignName需要通过提交审核: 4.TemplateCode  模板

  • SpringBoot实现阿里云短信接口对接的示例代码

    前言 公司最近项目需要一个手机验证码的功能,任务确定后,倍感亚历山大,以为和第三方对接的都好麻烦,查阿里的API.网上大神写的博客,各种查之后才发现,简单的一塌糊涂,这里想说个问题,不知道其他的攻城狮们是不是和我一样的心里,刚接触个没做过的任务时,会一脸懵里的着急,无从下手的感觉,后来会了,就觉得简单的一*,在这里我说一下自己的体会,遇到任何难点,先理思路.任务拆分.逐个查资料,其实一套下来,就不会那种一脸懵逼的干着急... 所需条件 1.阿里云账户 2.开通云通讯中的短信服务 3.申请短信签名

  • Java实现阿里云短信接口的示例

    阿里云短信服务接口 阿里云短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力. 支持向国内和国际快速发送验证码.短信通知和推广短信,服务范围覆盖全球200多个国家和地区.国内短信支持三网合一专属通道,与工信部携号转网平台实时互联.电信级运维保障,实时监控自动切换,到达率高达99%.完美支撑双11期间20亿短信发送,6亿用户触达. 快速开发 ①开启短信服务 1)登陆阿里云服务平台 2)选择控制台 3)点击左上角下拉按钮选择短信服务 4)开通短信服务 ②实名

  • 基于Python制作短信发送程序

    目录 一.Python短信发送界面最后的效果 二.准备:注册腾讯云账号并配置短信功能 三.初始化短信发送程序窗口 3.1初始化窗口菜单 3.2初始化窗口控件 3.3编写事件触发程序 四.完整源代码 一.Python短信发送界面最后的效果 二.准备:注册腾讯云账号并配置短信功能 (1)注册腾讯云账号 登录腾讯云网址 (2)获取AppID.AppKey 在短信功能页面下,从应用管理>应用列表,获取ID.Key. (3)创建签名 在短信功能页面下,进入国内短信>签名管理,创建签名. (4)创建正文模

  • Spring中使用腾讯云发送短信验证码的实现示例

    目录 1.所需依赖 2.腾讯云配置 (1).获取短信签名 (2).创建正文模板 (3).创建密钥 (4).获取SdkAppId 3.代码 1. 所需依赖 <dependency> <groupId>com.tencentcloudapi</groupId> <artifactId>tencentcloud-sdk-java</artifactId> <version>3.1.313</version> </depen

  • python如何使用腾讯云发送短信

    腾讯云方面的申请和流程都比较简单,基本都是可视化操作的,这里就不在赘述了.这篇文章着重讲解怎么用python实现调用. 我假设你已经满足了以下几个前提 + 已经开通了腾讯云短信业务 + 创建好了短信签名 + 也已经审核过了短信正文模板 + 并且已经知道自己的SDK AppID.签名ID.短信模板ID Python 相关需要安装腾讯云提供的模块或SDK 我们以qcloudsms_py模块为准,首先 pip install qcloudsms_py 发送短信我们需要用到的模块有下面2个 from q

  • Django之腾讯云短信的实现

    简介 由于项目在注册.登录.找回密码 时需要发送短信验证的功能,我们使用腾讯云短信做. 为什么要用腾讯云短信呢? 因为注册就送 100条免费短信 的额度. 实现 注册腾讯云 注册一个腾讯云账户,腾讯云中提供了很多功能:云服务器.云存储你.云直播.云短信等很多功能. 注册地址: https://cloud.tencent.com/ 注册并要实名认证 开通云短信 创建应用 创建应用并将应用中生成的 SDK AppID 和 App Key 复制下来,之后通过python发送短信时需要用到. 创建签名

  • Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解

    百度OCR体验地址: https://ai.baidu.com/tech/imagerecognition/general 腾讯OCR体验地址: https://cloud.tencent.com/act/event/ocrdemo 测试结果是:腾讯的效果要比百度的好 腾讯云目前额度是: 每个接口 1,000次/月免费,有6个文字识别的接口,一共是6,000次/月 百度接口调用之前写过文章 python实现百度OCR图片识别过程解析 使用步骤 1.注册账号: https://cloud.tenc

  • python中使用Celery容联云异步发送验证码功能

    目录 1.celery异步消息队列介绍 celery应用举例 Celery有以下优点 Celery 特性 2.工作原理 ***** Celery 扮演生产者和消费者的角色 思维导图 3.异步发短信 3.1.settings同级目录下创建 celery 文件 3.2.redis及容联云配置 3.3.配置settings文件 3.4.配置 settings同级目录下 init 文件 3.5.在utils下新建一个task.py文件 3.6.接口中调用 3.7.先启动django项目 1.celery

随机推荐