生成4位数字验证码
位数字验证码
defcreatePhoneCode(session):
chars=[‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’]
x=random.choice(chars),random.choice(chars),random.choice(chars),random.choice(chars)
verifyCode="".join(x)
session[“phoneVerifyCode”]={“time”:int(time.time()),“code”:verifyCode}
returnverifyCode
2、发送给外部短信接口(
、发送给外部短信接口(post方式)
方式)
defsendTelMsg(msg,phoneID):
SendTelMsgUrl=“http://www.810086.com.cn/jk.aspx”
params={“zh”:“china”,“mm”:“china@10086”,
“hm”:phoneID,“nr”:msg,“sms_type”:88}
postData=urllib.urlencode(params)
req=urllib2.Request(SendTelMsgUrl,postData)
req.add_header(‘Content-Type’,“application/x-www-form-urlencoded”)
respone=urllib2.urlopen(req)
res=respone.read()
returnres
其中session参数是djangourls.py后台方法以request.session传入
3、前端
、前端js
KaTeX parse error: Expected '}', got 'EOF' at end of input: …varuserPhoneEl=(“input[name=phoneNum]”);
varuserPhone=$.trim(userPhoneEl.val());
if(userPhone==""){
alert(“请填写号码!”);
return;
}
KaTeX parse error: Expected '}', got 'EOF' at end of input: …(msg); varddEl=(self).siblings(“dd.showTag”);
if(msg==“ok”){
ddEl.find(“span”).hide();
ddEl.find(“span[name=success]”).show();
}else{
ddEl.find(“span”).hide();
ddEl.find(“span[name=error]”).show();
}
})
.error(function(msg){
console.info(msg);
});
varstep=60;
$(this).attr(“disabled”,true);
$(this).html(“重新发送”+step);
varinterThread=setInterval(function(){
step-=1;
$(self).html(“重新发送”+step);
if(step<=0){
$(self).removeAttr(“disabled”);
$(self).html(“获取验证码”);
clearInterval(interThread);
}
},1000);
});
Android在收到短信后会发送一个Action为android.provider.Telephony.SMS_RECEIVED的广播,所以我们只需要写个类继承
BroadcastReceiver就可以很容易地监听到短信。
packagecom.example.getsms;
importandroid.content.BroadcastReceiver;
importandroid.content.ContentResolver;
importandroid.content.Context;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.telephony.SmsMessage;
importandroid.text.TextUtils;
importandroid.util.Log;
publicclassSmsInterceptReceiverextendsBroadcastReceiver{
privatefinalStringTAG=“SmsRec”;
privatestaticfinalStringSMS_EXTRA_NAME=“pdus”;
@Override
publicvoidonReceive(Contextcontext,Intentintent){
//TODOAuto-generatedmethodstub
Stringmessage="";
Log.e(TAG,“freemessage”);
Bundleextras=intent.getExtras();
if(extras!=null){
try{
Object[]smsExtra=(Object[])extras.get(SMS_EXTRA_NAME);
ContentResolvercontentResolver=context.getContentResolver();
Log.e(TAG,“freemessage”);
for(inti=0;i<smsExtra.length;++i){
SmsMessagesms=SmsMessage.createFromPdu((byte[])smsExtra[i]);
Stringbody=sms.getMessageBody().toString();
message+=body;
}
Log.e(TAG,“freemessage:”+message);
}catch(Exceptione){
//TODO:handleexception
Log.e(TAG,e.getMessage());
}
}
}
}
AndroidManifest.xml里注册一下接收器:
receiverandroid:name=".SmsInterceptReceiver"

actionandroid:name=“android.provider.Telephony.SMS_RECEIVED”/

添加权限:
uses-permissionandroid:name=“android.permission.RECEIVE_SMS”/
python代码,主要通过adblog来获取apk包所截取的短信信息,然后进行分析后既可使用。
author=‘guozhenhua’
#coding=utf-8
importurllib2
importos,time
#解析短信验证码
os.system(“adblogcat-c”)
cmd=“adblogcat-d|findstrE/SmsRec”
#time.sleep(30);
while(1):
smscode=os.popen(cmd).read()
#printsmscode
if(smscode!=""):
smscode=smscode.split(“验证码:”)[1].split(",")[0]
break;
print"验证码是:"+smscode

python实现发送和获取手机短信验证码相关推荐

  1. python群发手机短信_python实现发送和获取手机短信验证码

    首先为大家分享python实现发送手机短信验证码后台方法,供大家参考,具体内容如下 1.生成4位数字验证码 def createPhoneCode(session): chars=['0','1',' ...

  2. 【Python web 开发】获取手机短信验证码接口(1)

    首先我之前是有定义一张表专门用来记录手机验证码的 第二步: 我们来写视图函数 viewset 思路逻辑:1.验证前端传过来的手机号是否已注册  2.验证手机号是否正确(正则表达式) 3.获取验证码的频 ...

  3. python自动读取短信_自动化测试-自动获取手机短信验证码

    最近在做生产环境自动化测试,碰到一个难题就是短信验证码的获取,生产环境短信验证码是真实的,不能采用测试环境将短信验证码写成固定的方法解决,我的思路是:做一个apk小程序,将手机上的短信验证码实时读取出 ...

  4. python读取手机短信信息_python 自动获取手机短信验证码

    需要一个有权限的 APK 在手机实时存储短信到手机内存 /sdcard/smslog.txt 里(外部SD卡也可以知道能通过adb命令访问到): /***** ...... try { long ti ...

  5. python 自动获取手机短信验证码

    需要一个有权限的 APK 在手机实时存储短信到手机内存 /sdcard/smslog.txt 里(外部SD卡也可以知道能通过adb命令访问到): /***** ...... try { long ti ...

  6. java代码进行短信接收_自动化测试-自动获取手机短信验证码

    最近在做生产环境自动化测试,碰到一个难题就是短信验证码的获取,生产环境短信验证码是真实的,不能采用测试环境将短信验证码写成固定的方法解决,我的思路是:做一个apk小程序,将手机上的短信验证码实时读取出 ...

  7. Android开发 亲测可用--多种方式获取手机短信验证码自动填入

    Android开发 静态注册.动态注册.短信中心库监控获取手机验证码,自动复制到剪切板或或填入输入框. 友情提醒初学者:这是广播接收器的类,写在xml中静态注册或写在启动类的Oncreate方法下动态 ...

  8. 发送手机短信验证码-后端、前端(验证码倒计时)

    获取手机短信验证码-后端.前端(验证码倒计时) 后端 /*** 发送手机短信验证码** @return str* @throws Exception* @author 王永圣*/@RequestMap ...

  9. Java调用WebService接口实现发送手机短信验证码功能,java 手机验证码,WebService接口调用...

    近来由于项目需要,需要用到手机短信验证码的功能,其中最主要的是用到了第三方提供的短信平台接口WebService客户端接口,下面我把我在项目中用到的记录一下,以便给大家提供个思路,由于本人的文采有限, ...

最新文章

  1. P1171 售货员的难题--搜索(剪枝)
  2. pageadminCMS.Net Framework的安装教程
  3. HTML块级元素/块标签/块元素
  4. [vue] vue首页白屏是什么问题引起的?如何解决呢?
  5. php 强制刷新一次,强制浏览器使用PHP刷新所有内容
  6. WEBBASE篇: 第六篇, CSS知识4
  7. 数据库服务器禁用虚拟内存,SQLServer因为OS虚拟内存不足而hang住异常解决-锁定内存页 (LPIM)...
  8. 像差与zernike多项式
  9. .NET 基础一步步一幕幕[out、ref、params]
  10. WINDOWS杀进程的命令
  11. Java基础 IO流——第三部分
  12. QueryWrapper、LambdaQueryWrapper以及LambdaQueryChainWrapper用法
  13. AB PLC Modbus TCP通讯测试
  14. java 上传附件实例
  15. TPM设备管理学习心得
  16. 羽毛球 - 正手高球(杀球、吊球、高远球)
  17. qt多级菜单_Qt高仿电脑管家界面(二):点击按钮弹出菜单
  18. 超文本传输协议 - 白话篇
  19. 《人生的智慧》-叔本华著[韦启昌-(译)]
  20. ae2020不支持的视频驱动程序_AE 2020版本安装提示系统兼容性报告怎么解决?

热门文章

  1. 使用代码片断添加交互
  2. 命运歌姬服务器停服维护中,命运歌姬2月27日更新什么? 2月27日双端维护内容公告...
  3. 基于深度学习的高精度家禽猪检测识别系统(PyTorch+Pyside6+YOLOv5模型)
  4. Prowork 协同日历助你在家办公更高效
  5. ADAU1452DSP研究开发导引
  6. 字符串显示(第三方触摸屏)
  7. 【设计模式笔记】单例模式Singleton Pattern
  8. 【正点原子FPGA连载】 第二十九章TFT LCD画板实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南
  9. 观察者和中介者的区别
  10. 挂耳式耳机品牌排行榜,良心推荐这四款蓝牙耳机