最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:懂视网 责编:小OO 时间:2020-11-27 14:35:07
文档

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方式)。
推荐度:
导读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方式)。

首先为大家分享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

下面就为大家介绍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

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

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方式)。
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top