首先为大家分享python实现发送手机短信验证码后台方法,供大家参考,具体内容如下

1、生成4位数字验证码

def createPhoneCode(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}

return verifyCode

2、发送给外部短信接口(post方式)

def sendTelMsg(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()

return res

其中session参数是django urls.py 后台方法 以request.session传入

3、前端js

$("button[name=getVerifyBt]").bind("click", function(){

var self = this;

var userPhoneEl = $("input[name=phoneNum]");

var userPhone = $.trim(userPhoneEl.val());

if (userPhone == ""){

alert("请填写号码!");

return;

}

$.get("/getPhoneVerifyCode/"+userPhone + "/")

.success(function(msg){

console.info(msg);

var ddEl = $(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);

});

var step = 60;

$(this).attr("disabled", true);

$(this).html("重新发送"+step);

var interThread = setInterval(function(){

step-=1;

$(self).html("重新发送"+step);

if(step <=0){

$(self).removeAttr("disabled");

$(self).html("获取验证码");

clearInterval(interThread);

}

}, 1000);

});

下面就为大家介绍python解决接口测试获取手机验证码问题的方法:

最近在做接口测试的时候遇到一个问题,就是有个很重要的接口要用到手机短信验证码,而其他接口都依赖于这个验证码,如果没有短信验证码就不能进行下面接口的测试,所以为了定时的验证线上的接口是否正常,而且又不修改代码,所以就想到以下解决方案,如果大家有了更好方案可以一起交流分享。

Android在收到短信后会发送一个Action为android.provider.Telephony.SMS_RECEIVED的广播,所以我们只需要写个类继承BroadcastReceiver就可以很容易地监听到短信。

package com.example.getsms;

import android.content.BroadcastReceiver;

import android.content.ContentResolver;

import android.content.Context;

import android.content.Intent;

import android.os.Bundle;

import android.telephony.SmsMessage;

import android.text.TextUtils;

import android.util.Log;

public class SmsInterceptReceiver extends BroadcastReceiver {

private final String TAG = "SmsRec";

private static final String SMS_EXTRA_NAME ="pdus";

@Override

public void onReceive(Context context, Intent intent) {

// TODO Auto-generated method stub

String message = "";

Log.e(TAG, "free message " );

Bundle extras = intent.getExtras();

if ( extras != null ) {

try {

Object[] smsExtra = (Object[]) extras.get( SMS_EXTRA_NAME );

ContentResolver contentResolver = context.getContentResolver();

Log.e(TAG, "free message " );

for ( int i = 0; i < smsExtra.length; ++i ) {

SmsMessage sms = SmsMessage.createFromPdu((byte[]) smsExtra[i]);

String body = sms.getMessageBody().toString();

message += body;

}

Log.e(TAG, "free message : " + message);

} catch (Exception e) {

// TODO: handle exception

Log.e(TAG, e.getMessage());

}

}

}

}

AndroidManifest.xml里注册一下接收器:

添加权限:

python 代码,主要通过adb log来获取apk包所截取的短信信息,然后进行分析后既可使用。

__author__ = 'guozhenhua'

#coding=utf-8

import urllib2

import os,time

#解析短信验证码

os.system("adb logcat -c")

cmd="adb logcat -d |findstr E/SmsRec"

#time.sleep(30);

while(1):

smscode= os.popen(cmd).read()

#print smscode

if (smscode!=""):

smscode=smscode.split("验证码:")[1].split(",")[0]

break;

print "验证码是:"+smscode

以上就是本文的全部内容,内容很丰富,但是也存在一些不足,希望大家谅解,共同学习进步。

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

  1. python adb读取手机中短信_python+adb实现自动化获取手机信息

    首先我们先看一下使用adb查看Android手机信息的指令 #获取手机名称 NAME = 'adb shell getprop ro.product.model' #获取手机版本 VERSION = ...

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

    生成4位数字验证码 位数字验证码 defcreatePhoneCode(session): chars=['0','1','2','3','4','5','6','7','8','9'] x=rand ...

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

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

  4. python手机屏幕控制_Python脚本利用adb进行手机控制的方法

    一.  adb 相关命令: 1. 关闭adb服务:adb kill-server 2. 启动adb服务  adb start-server 3. 查询当前运行的所有设备  adb devices 4. ...

  5. 华为python自动化怎么领取_python+adb实现自动化获取手机信息

    首先我们先看一下使用adb查看Android手机信息的指令 #获取手机名称 NAME = 'adb shell getprop ro.product.model' #获取手机版本 VERSION = ...

  6. python控制自己手机短信_Python 串口编程 AT指令控制短信

    Python 串口编程 AT指令控制短信 发布时间:2019-09-18 07:27:52编辑:auto阅读(818) #-*- encoding: gbk -*- import time impor ...

  7. python群发邮箱软件下载_python群发邮件1000人

    python发邮件是依赖STMP模块,今天一米软件就来跟大家说说python群发邮件1000人该如何操作. SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它 ...

  8. python 发送邮件附件很慢_Python SMTP 发送带附件电子邮件

    起始于对现有工作的内容进行部分重复工作的释放,花费了两周的时间调试了完全可能自己吼得住看得懂能实现目标的代码,如标题所说,本代码主要用户带附件的电子邮件的发送: 对于代码大家只需要修改下文件路径,邮箱 ...

  9. python同时发大量请求_Python批量发送post请求的实现代码

    昨天学了一天的Python(我的生产语言是java,也可以写一些shell脚本,算有一点点基础),今天有一个应用场景,就正好练手了. 这个功能之前再java里写过,比较粗糙,原来是在我本机跑的,今天老 ...

最新文章

  1. 试用期被劝退,京东到家某程序员删库跑路,被判刑10个月!
  2. 研发管理101军规#003 实战规模化敏捷:从8人到百人的敏捷之路
  3. 《Swift 权威指南》——第6章,第6.7节常量和变量参数
  4. Android之给图片添加水印效果
  5. LeetCode: 2_Add Two Numbers | 两个链表中的元素相加 | Medium
  6. CASE WHEN 高阶用法?
  7. Go判断输出数据类型
  8. 手动安装 SAP Spartacus 3.3.0版本并启用服务器端渲染 SSR
  9. vue + element-ui tab切换
  10. 单片机第13课:串口通信---向计算机发送数据
  11. 【笔试/面试】—— 序列全排列(递归版)
  12. python 如果没有该key值置为空_如何制作一个python字典,为字典中缺少的键返回键,而不是引发KeyError?...
  13. mob AndroidStudio 短信SDK集成
  14. ppBaby的开发历程
  15. arm嵌入式系统C语言代码,ARM嵌入式系统C语言编程.pdf
  16. Android 开发推荐书籍
  17. Mathematica 训练课(3)- 简单图形绘制
  18. c# 删除C:\Windows\System32\oobe下的文件
  19. 单例模式你会几种写法?
  20. 阿里巴巴面试5轮问题

热门文章

  1. 【英语语法】Unit2 介词和并列连词
  2. 咒术回战,HTMLCSS,简单,介绍页面
  3. 全网最简单的短视频配音教程奉上|学到就是赚到
  4. Proteus元件库中添加第三方的单片机芯片
  5. 小虎电商浏览器:拼多多看数据的软件哪个好用?如何提高拼店铺的销售额?
  6. 为什么,人们都喜欢说服别人
  7. python怎么表达我喜欢你的句子_我喜欢你的句子超经典【27句】
  8. C# dotnet core TCP NAT UDP P2P 穿透 小引
  9. html中背景条纹效果,CSS揭秘之《条纹背景》
  10. dedecms中的封面模板 列表模板 文章模板有什么区别啊