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

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條評論
主站蜘蛛池模板: 国产高清视频 | 看全色黄大色大片免费视频 | 精品爱爱 | 日本精品一区二区三区在线 | 久久精品亚洲欧美va | 久久国产精品一区 | 神马影院午夜剧场 | 亚洲香蕉国产高清在线播放 | 亚洲综合一区二区 | 日本爱爱免费视频 | 日韩欧美在线播放视频 | 五月天婷亚洲 | 亚洲一区在线免费 | 黄色在线免费看 | 国内精品视频在线观看 | 国产亚洲综合一区二区在线 | 久久香蕉国产线看观看精品蕉 | 一级色| 狠狠狠色 | 免费观看黄a一级视频日本 免费观看黄色 | 免费一级毛片在播放视频 | 天天爽夜夜爽精品视频一 | 欧美日在线 | 伊人一本之道 | 国产午夜亚洲精品第一区 | 国产成人高清精品免费观看 | 日本a视频在线 | 四虎影视成人 | 日韩精品视频观看 | 久久香蕉国产线看观看亚洲卡 | 一级毛片在线播放免费 | 欧美日韩麻豆 | 国产一区二区免费福利片 | 毛片网站免费观看 | 欧美精品亚洲人成在线观看 | 午夜官网 | 久久福利青草精品免费 | 亚洲综合精品香蕉久久网 | 久热99| 性欧美另类老妇高清 | 女性一级全黄生活片 |