200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > python 短信_Python怎么接收手机短信?

python 短信_Python怎么接收手机短信?

时间:2020-11-11 03:04:14

相关推荐

python 短信_Python怎么接收手机短信?

python解决接口测试获取手机验证码问题的方法:

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

importandroid.content.BroadcastReceiver;

importandroid.content.ContentResolver;

importandroid.content.Context;

importandroid.content.Intent;

importandroid.os.Bundle;

importandroid.telephony.SmsMessage;

importandroid.text.TextUtils;

importandroid.util.Log;

publicclassSmsInterceptReceiverextendsBroadcastReceiver{

privatefinalStringTAG="SmsRec";

privatestaticfinalStringSMS_EXTRA_NAME="pdus";

@Override

publicvoidonReceive(Contextcontext,Intentintent){

//TODOAuto-generatedmethodstub

Stringmessage="";

Log.e(TAG,"freemessage");

Bundleextras=intent.getExtras();

if(extras!=null){

try{

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

ContentResolvercontentResolver=context.getContentResolver();

Log.e(TAG,"freemessage");

for(inti=0;i

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

Stringbody=sms.getMessageBody().toString();

message+=body;

}

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

}catch(Exceptione){

//TODO:handleexception

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

}

}

}

}

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

添加权限:

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

#coding=utf-8

importurllib2

importos,time

#解析短信验证码

os.system("adblogcat-c")

cmd="adblogcat-d|findstrE/SmsRec"

#time.sleep(30);

while(1):

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

#printsmscode

if(smscode!=""):

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

break;

print"验证码是:"+smscode

更多Python知识请关注Python自学网

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。