【Python Programe】使用Python发送语音验证
使用Python向手机发送语音验证码,需要工具有:
virtualenv 创建独立运行环境
Twilio 帐号去调用相应的API
Twilio 的python库,5.7.0版本
1、使用 virtualenv 创建独立运行环境:
# 安装
pip3 install virtualenv # 相应的目录,创建环境
virtualenv --no-site-packages venv
使用参数--no-site-packages
,后安装到系统Python环境中的所有第三方包都不会复制过来,这样,我们就得到了一个不带任何第三方包的“干净”的Python运行环境。
新建的Python环境被放到当前目录下的venv
目录。有了venv
这个Python环境,可以用source
进入该环境:
source venv/bin/activate
(venv) firefly@firefly:~/phonecall$
注意到命令提示符变了,有个(venv)
前缀,表示当前环境是一个名为venv
的Python环境。
2、安装 twilio 运行库:
pip install twilio==5.7.0
在venv
环境下,用pip
安装的包都被安装到venv
这个环境下,系统Python环境不受任何影响。也就是说,venv
环境是专门针对myproject
这个应用创建的。
退出当前的venv
环境,使用deactivate
命令
virtualenv 就是把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate
进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python
和pip
均指向当前的virtualenv环境。
3、编写 Python 代码phone_call.py:
#!/usr/bin/env python
# -*-coding:utf-8 -*-
from twilio.rest import TwilioRestClient # twilio 申请得到的号码 "+18568884457"
TWILIO_PHONE_NUMBER = "" # 需要拨打的号码 "+86188xxxxxxxx"
DIAL_NUMBERS = ["",] # TwiML 决定如何处理这段会话
TWIML_INSTRUCTIONS_URL = "https://demo.twilio.com/docs/voice.xml" # 帐号 SID & Token
client = TwilioRestClient("ACxxxxxxxxxx", "yyyyyyyyyy") def dial_numbers(numbers_list):
""" 发送语音指令 """
for number in numbers_list:
print("Dialing " + number)
# 设置请求方式为 GET 获得 XML指令
client.calls.create(to=number, from_=TWILIO_PHONE_NUMBER,
url=TWIML_INSTRUCTIONS_URL, method="GET") if __name__ == "__main__":
dial_numbers(DIAL_NUMBERS)
DIAL_NUMBERS 填写需要拨打的号码(加上区号),TWILIO_PHONE_NUMBER 和 TWILIO帐号 SID , Token 在 TWILIO控制台中获取
4、注册TWILIO帐号,
【Python Programe】使用Python发送语音验证的更多相关文章
- python实现邮件的发送
一.163邮箱设置 进入163邮箱,点击设置中的pop3/smtp/imap 开启smtp服务,如果没有开启,点击设置,手机号验证后勾选开启即可,开启后图如下: 主要用到的就是smtp服务器:smtp ...
- python基于LeanCloud的短信验证
python基于LeanCloud的短信验证 1. 获取LeanCloud的Id.Key 2. 安装Flask框架和Requests库 pip install flask pip install re ...
- Python‘ssl.match_hostname()’函数SSL证书验证安全绕过漏洞
漏洞名称: Python‘ssl.match_hostname()’函数SSL证书验证安全绕过漏洞 CNNVD编号: CNNVD-201312-033 发布时间: 2013-12-04 更新时间: 2 ...
- 在Python中使用SMTP发送电子邮件
Python中有内置的smtplib模块,完成一封邮件的发送,需要做很多准备工作.第三方的py_smtp这个包也是基于smtplib的,在Python中使用py_smtp发送电子邮件非常方便,只要填写 ...
- 【python】脚本连续发送QQ邮件
今天习得用python写一个连续发送QQ邮件的脚本,经过测试,成功给国内外的服务器发送邮件,包括QQ邮箱.163邮箱.google邮箱,香港科技大学的邮箱和爱丁堡大学的邮箱.一下逐步解答相关技巧. 首 ...
- Python如何实现文本转语音
准备 我测试使用的Python版本为2.7.10,如果你的版本是Python3.5的话,这里就不太适合了. 使用Speech API 原理 我们的想法是借助微软的语音接口,所以我们肯定是要进行调用 相 ...
- python selenium2示例 - email发送
前言 在进行日常的自动化测试实践中,我们总是需要将测试过程中的记录.结果等等等相关信息通过自动的手段发送给相关人员.python的smtplib.email模块为我们提供了很好的email发送等功能的 ...
- Python调用飞书发送消息
一.创建飞书机器人 自定义飞书机器人操作步骤,具体详见飞书官方文档:<机器人 | 如何在群聊中使用机器人?>
- python学习Day2 python 、pycharm安装及环境变量配置
复习 进制转换:二进制&十六进制转换(从左往右1248机制,每四位二进制对应一位16进制) 二进制&十进制转换 2n-1幂次方相加 十进制到二进制转化 将十进制除以2,把余数记下 ...
随机推荐
- Decoration2:引入Angularjs显示前台一条数据
SpringMVC内置的RestFul API格式采用的是最复杂最全面的HATEOAS规范,对于简单应用来说,前台解析起来不方便,我们下面主要想办法重新定义一种简单的RestFulAPI. (1)先是 ...
- 452. Remove Linked List Elements【Naive】
Remove all elements from a linked list of integers that have value val. Example Given 1->2->3- ...
- 每日英语:The Upside of Favoritism
As the head of the entertainment division of a major public-relations firm in New York, Janelle was ...
- jvm默认垃圾收集器
jdk1.7 默认垃圾收集器Parallel Scavenge(新生代)+Parallel Old(老年代) jdk1.8 默认垃圾收集器Parallel Scavenge(新生代)+Parallel ...
- django 判断用户是否登陆
基于类的视图登陆
- 拿与不拿的dfs
在n个物品中拿k个,使得花费恰好为m. 典型的dfs,对每一个物品,可以选择拿与不拿,然后在判断下一个物品. 失败的dfs: 代码没有保存,只重写一下dfs函数的关键部分: ;i<n;i++) ...
- [uboot]Issue list
- 大数据(13) - Spark的安装部署与简单使用
一 .Spark概述 官网:http://spark.apache.org 1. 什么是spark Spark是一种快速.通用.可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校 ...
- C语言0长度数组(柔性数组)
0长度数组,又称为柔性数组(flexible array).通经常使用来实现变长数组.常见于TLV(type-length-value)的数据结构中. 在标准 C 和 C++ 中,不同意用 0 长度数 ...
- Target frameworks
https://docs.microsoft.com/en-us/dotnet/standard/frameworks When you target a framework in an app or ...