亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python實現(xiàn)發(fā)送和獲取手機短信驗證碼

系統(tǒng) 1544 0

首先為大家分享 python實現(xiàn)發(fā)送手機短信驗證碼后臺方法 ,供大家參考,具體內容如下

1、生成4位數(shù)字驗證碼

            
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、發(fā)送給外部短信接口(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參數(shù)是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("請?zhí)顚懱柎a!"); 
    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("重新發(fā)送"+step); 
  var interThread = setInterval(function(){ 
    step-=1; 
    $(self).html("重新發(fā)送"+step); 
    if(step <=0){ 
      $(self).removeAttr("disabled"); 
      $(self).html("獲取驗證碼"); 
      clearInterval(interThread); 
    } 
  }, 1000); 
   
   
}); 
          

下面就為大家介紹 python解決接口測試獲取手機驗證碼問題的方法

最近在做接口測試的時候遇到一個問題,就是有個很重要的接口要用到手機短信驗證碼,而其他接口都依賴于這個驗證碼,如果沒有短信驗證碼就不能進行下面接口的測試,所以為了定時的驗證線上的接口是否正常,而且又不修改代碼,所以就想到以下解決方案,如果大家有了更好方案可以一起交流分享。

Android在收到短信后會發(fā)送一個Action為android.provider.Telephony.SMS_RECEIVED的廣播,所以我們只需要寫個類繼承BroadcastReceiver就可以很容易地監(jiān)聽到短信。

            
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

          

以上就是本文的全部內容,內容很豐富,但是也存在一些不足,希望大家諒解,共同學習進步。


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品蜜臀 | 国产精品天天看 | 久在草在线 | 成人欧美一区二区三区黑人免费 | 特一级男女性色大片 | 亚洲欧美日韩国产综合高清 | 日本欧美一区二区三区乱码 | 国产精品成人久久久久 | 国产精品12p | 亚洲一区二区三区高清视频 | 99热这里只有精品一区二 | 欧美一级成人一区二区三区 | 人人做人人性 | 香蕉久久一区二区三区 | 欧美 日韩 中文字幕 | 国产69精品久久久久99不卡 | 一个色在线 | 日本精品一区二区三本中文 | 免费播放毛片 | 国产欧美日韩精品第二区 | 久久成人综合网 | 欧美日韩国产高清精卡 | 久久免费公开视频 | 深夜福利在线免费观看 | 91香蕉国产视频 | 特级aa一级欧美毛片 | 天天影视欧美综合在线观看 | 久艹在线播放 | 国内精品久久久久久久久 | 不卡一区二区在线 | 欧美视频一区在线 | 99999久爱视频在线观看 | 国产a视频| 麻豆精品永久免费视频 | 久久久久久久久久福利 | 欧洲亚洲视频 | 涩涩视频网 | 西西人体大胆77777视频 | 欧美综合精品 | 天天射天天| 成人a网站 |