欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2016年01月15日 11:57:39   投稿:lijiao  
這篇文章主要介紹了python實現(xiàn)發(fā)送和獲取手機短信驗證碼的相關資料,講解了python如何解決接口測試獲取手機驗證碼問題,感興趣的小伙伴們可以參考一下

首先為大家分享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里注冊一下接收器:

 <receiver android:name=".SmsInterceptReceiver">
     <intent-filter>
     <action android:name="android.provider.Telephony.SMS_RECEIVED" />
     </intent-filter>
    </receiver>

添加權限:

<uses-permission android:name="android.permission.RECEIVE_SMS"/>

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使用draw類繪制圖形示例講解

    Python使用draw類繪制圖形示例講解

    這篇文章主要介紹了Python使用draw類繪制圖形的哪些函數(shù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • Flask入門之上傳文件到服務器的方法示例

    Flask入門之上傳文件到服務器的方法示例

    這篇文章主要介紹了Flask入門之上傳文件到服務器的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • python字符串替換re.sub()實例解析

    python字符串替換re.sub()實例解析

    這篇文章主要介紹了python字符串替換re.sub()實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • python列表切片和嵌套列表取值操作詳解

    python列表切片和嵌套列表取值操作詳解

    今天小編就為大家分享一篇python列表切片和嵌套列表取值操作詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 利用Python和PyQt5構建一個多功能PDF轉換器

    利用Python和PyQt5構建一個多功能PDF轉換器

    在日常工作中,處理PDF文件幾乎是每個人都不可避免的任務,本文將通過Python和PyQt5搭建一個強大的PDF文件處理平臺,希望對大家有所幫助
    2024-12-12
  • python統(tǒng)計字母、空格、數(shù)字等字符個數(shù)的實例

    python統(tǒng)計字母、空格、數(shù)字等字符個數(shù)的實例

    今天小編就為大家分享一篇python統(tǒng)計字母、空格、數(shù)字等字符個數(shù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • 如何利用Python將html轉為pdf、word文件

    如何利用Python將html轉為pdf、word文件

    網絡上存在很多將HTML轉換為PDF的軟件和工具,但是大家都知道收費,所以下面這篇文章主要給大家介紹了關于如何利用Python將html轉為pdf、word文件的相關資料,文中通過示例代碼介紹介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • Python中標準庫array數(shù)組操作舉例詳解

    Python中標準庫array數(shù)組操作舉例詳解

    這篇文章主要介紹了Python中標準庫array數(shù)組操作的相關資料,Python的array模塊提供了固定類型數(shù)組類,用于高效存儲同類型元素,節(jié)省內存并支持數(shù)值計算,需要的朋友可以參考下
    2025-04-04
  • pandas篩選數(shù)值列和非數(shù)值列方式

    pandas篩選數(shù)值列和非數(shù)值列方式

    這篇文章主要介紹了pandas篩選數(shù)值列和非數(shù)值列方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python中的字符串替換操作示例

    Python中的字符串替換操作示例

    這篇文章主要介紹了Python中的字符串替換操作示例,包括一則使用字符串模板string.Template的例子及一則使用正則表達式的例子,需要的朋友可以參考下
    2016-06-06

最新評論