【Python Programe】使用Python发送语音验证
2024-08-28 10:09:39
使用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帐号,
最新文章
- 【完全开源】知乎日报UWP版(下篇):商店APP、github源码、功能说明。Windows APP 良心出品。
- mvc自定义全局异常处理
- 从其它系统登录到SharePoint 2010系统的单点登录
- Qweb Pdf 中添加 图片
- 北京VR视频外包团队:全景VR视频科普
- Spring AOP使用整理:自动代理以及AOP命令空间
- html5 之 canvas 相关知识(一)概念及定义
- 【转】深入理解Java内存模型(六)——final
- (转)iOS分类和扩展(Categories和Extensions)
- Monkey源码分析之事件源
- [翻译]初识SQL Server 2005 Reporting Services Part 3
- Spring Boot Starter 介绍
- 解决No 'Access-Control-Allow-Origin' header is present on the requested resource.跨域问题(后台(java)解决方法)
- [JDK8]读写锁的改进:StampedLock
- flex和box-shadow一些兼容性问题
- 1209 -The MySQL server is running with the --read-only option
- maven(二)基于intellij idea搭建maven项目
- 第五次作业 hql查询
- 如何创建管理员权限的CMD命令提示符窗口
- LambdaMART简介——基于Ranklib源码(一 lambda计算)