Python群发短信

news/2024/10/30 23:26:27/

工具:adb、python开发环境、安卓手机、macOS

首先安装python环境,安装terminal adb。

其中adb安装过程:

brew install android-platform-tools

检查adb的状态

adb devices     

如果安装成功,检查设备的指令会列出当前设备。

因为安卓手机需要连接电脑且开启开发者模式,才会出现在设备列表,所以记得找到对应设备的厂商的开发这模式开启的方法。自行谷歌。

如果adb devices -l 列出的仍然空白,

终端输入

system_profiler SPUSBDataType

可以检查当前连接设备,搜索android,可以看到自己的手机

 USB 3.1 Bus:Host Controller Driver: AppleIntelCNLUSBXHCIPCI Device ID: 0xa36d PCI Revision ID: 0x0010 PCI Vendor ID: 0x8086 SAMSUNG_Android:Product ID: 0x6860Vendor ID: 0x04e8  (Samsung Electronics Co., Ltd.)Version: 5.04Serial Number: R5CR11B1XDNSpeed: Up to 480 Mb/sManufacturer: SAMSUNGLocation ID: 0x14300000 / 8Current Available (mA): 500Current Required (mA): 0Extra Operating Current (mA): 0

记录下Vendor ID,到/Users/[user]/.android下,应该有一个adb_usb.ini文件,如果没有就创建,然后将Vender ID加入到文件中。(直接添加保存即可)

重启adb服务:

adb kill-server

adb start-server               

重新输入adb devices来检查,看到设备在其中

eugene@Eugenes-MBP ~ % adb devices -l                 
List of devices attached
R5CR11B1XDN            device usb:338690048X product:p3qzcx model:SM_G9980 device:p3q transport_id:2

这时候使用终端指令可以直接发送短信

adb shell am start -a android.intent.action.SENDTO -d sms:{} --es sms_body {}

其中{}用手机号和短信内容替换

即可调起手机短信功能停留在发送界面。

至此基本设置准备妥当。

使用到的Python库:

import os 
import pandas as pd 
import numpy as np 
import time

遍历excel的方法:

df = pd.read_excel('file.xlsx')
for index,row in df.iterrows()://todo

调用adb shell方法:

//拼接发送指令
os.popen("adb shell am start -a android.intent.action.SENDTO -d sms:{} --es sms_body {}".format(mobile, sms_content))//给予机器缓冲时间
time.sleep(2)//模拟指令
os.popen("adb shell input keyevent 22")

最后实操需要大家调试一下,因为不同手机和设备在连接、设置、绑定、指令调用都有差异。

TIPS:因为有些手机品牌的短信界面有不同的按键,如我三星输入栏右侧是表情按钮,只需要调用两次右导航键,再回车发送即可。

脚本逻辑可以理解成用户操作的一个流程。

附带我的脚本调用:

adb shell am start -a android.intent.action.SENDTO -d sms:187xxxxxxxx --es sms_body "短信内容"
adb shell input keyevent 22
adb shell input keyevent 22
adb shell input keyevent 66

在整体脚本中可以调用home指令来穿插哦。

附:

部分adb shell指令

https://www.itread01.com/content/1548785710.html

部分adb shell指令

https://www.shuzhiduo.com/A/E35pgx3AJv/


http://www.ppmy.cn/news/312080.html

相关文章

android群发短信时判断短信是否发送成功

先注册一个broadcast: private BroadcastReceiver smsBroadcastReceiver new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { System.out.println("ACTION_RAYCLEAR_SEND_SMS"); if("ACTION_RAYCLEAR_SEND_…

SIM7600CE 发短信log

SIM7600CE为SIMCOM的4G模块,全网通,支持 CAT-4 150Mbps,内核电压2.8V。 发送短信需要正常的电话卡,有些物联网卡不支持。 感觉开机要好久啊,开机的状态以 state引脚作为开机启动态最好,在state 检测为高电…

python发短信

先直接讲干货吧,吐槽的内容后面再说。 补充:榛子云平台也可 python发短信,我利用的接口是短信包这个平台的: smsbao.com,界面如下 登陆后点击右上角的【API文档】 向下滑动后点击【python示例】 复制代码并按照注释修改相关内容…

调用Android短信软件进行短信群发

最近想做一个可以群发短信的功能,但又不想自己做一个发短信的界面,之前也做过利用Intent调用系统发短信功能,这个网上也有大把人发过。 String mobile "18900000000" Intent intent new Intent(Intent.ACTION_VIE…

个人用户实现发送短信功能

准备工作 因为国家政策 ,阿里云和其他的大型短信调用网站审核严格所以我们用比较普通的榛子云来练习短信验证 了解阿里云短信码 登录阿里云,选择短信服务 首先要了解发送短信的四个步骤 进入申请签名,查看大致内容,可以看到这边…

项目开发经验

hadoop 1.namenode中有专门的工作线程池用于处理与datanode的心跳信号 dfs.namenode.handler.count20 * log2(Clust 2.编辑日志存储路径 dfs.namenode.edits.dir 设置与镜像文件存储路径 dfs.namenode分开存放,可以达到提高并发 3.yarn参数调优,单个服…

Django-可重用注册登录系统--项目搭建

文章目录 一、项目开始前的思考二、搭建项目环境三、设计数据库模型数据库模型文件设置数据库后端注册app生成迁移脚本并写入数据库测试是否成功数据库模型后台管理 路由与视图函数框架搭建路由配置视图函数的配置模板template的配置测试是否成功 前端界面设计与优化完善登录的…

码出高效(一) Java 编程风格规约

一.前言 本文为《码出高效》系列博文第一篇,主要目的是统一和规范代码编程风格,改善应用程序的可读性,提高开发效率。规约包括命名、定义、函数、异常、排版等不同的场景,结合个人的实习经验和业界开发手册总结归纳,参…