SMPP协议中解析协议数据单元(PDU)的库

smpp.pdu的Python项目详细描述


pdu是一个python库,用于解析smpp协议中的协议数据单元(pdu)。pduencoder

hex='0000004dw0000000500000009f88f124415753440001013136353035353132333400010131373335353534303730000000000000300117468657206697320e6f2073706f6e'
binary=binascii.a2b_hex(hex)
file=stringio.stringio(binary)

pdu=pduencoder().decode(file)
print“pdu:%s”%PDU

打印以下内容:
命令状态:esme-rok
服务类型:awsbd
源地址:国际;源地址:国际;源地址:国际;源地址:isdn
;源地址:16505551234
;目的地地址:国际;目的地地址:isdn
br/>ESM U类:ESMClass[模式:默认,类型:默认,GSM功能:设置([])]
协议ID:0
优先级标志:级别0
计划交付时间:无
有效期:无
注册交付:注册交付[收据:无需SMSC交付收据,SME原始数据包:设置([]),中间通知:falseschemedata:latin_1]
sm_default_msg_id:none
short_message:there no spoon
pdu=submitsm(9284,
服务类型='',
源地址=地址。字母数字,
源地址=地址。未知,
源地址=移动路径,
目的地址=地址。国际,
目的地址=地址。isdn,

esm_class=esmclass(esmclassmode.default,esmclasstype.default),
protocol_id=0,
priority_flag=priorityflag.level_0,
registered_delivery=registereddedelivery(registereddedeliveryreceipt.smsc_delivery_receipt.requested),
replace_if_-presentflag.do_-replace,
数据编码=数据编码(datacodingscheme.gsm_message_class,datacodinggsmmsg(datacodinggsmmsg coding.default_alphabet,datacodinggsmmsgclass.class_2)),
短消息='hello',

打印“pdu”:%s%pdu

binary=pduencoder().encode(pdu)
hexstr=binascii.b2a_u hex(binary)
打印“hex”:%s%hexstr

;打印以下内容:

pdu:pdu[命令:提交sm,序列号:9284,命令状态:esme-rok
服务类型:
源地址:字母数字
源地址:未知
;源地址:移动路径:国际目的地:国际目的地:isdn
35;ESM_类:ESMClass[模式:默认,类型:默认,GSM功能:设置([])]
#协议标识:0
优先级标志:级别0
计划交付时间:无
有效期:无
注册交付:注册交付[收据:要求SMSC交付收据,SMOriginatedAcks:设置([]),中间通知:false]
如果存在,则替换标志:不替换
数据编码:数据编码[scheme:gsmu消息类,scheme data:datacodinggsmmsg[msgcoding:default\u字母表,msg class:Class嫒2]
sm嫒u default嫒u msg嫒id:none
short嫒u message:hello

hex:000000360000000400000024440005006D6F62696C6577617900011383233300000000000000100f20005454c4c4f

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我可以在更新JDK后删除旧文件夹吗   java如何在POSTMAN中选择formdata时使用Reformation2发布数据   HttpURLConnection上的java FileNotFoundException。getInputStream   java我应该使用try/catch检查缺少的输入吗?   java这个枚举是否违反了单一责任原则?   java Oracle JDBC欧洲字符   在java中,在不将int转换为String的情况下,是否可以将int添加到stringarraylist中   如何使用Jersey(Java)通过RESTAPI上传csv文件?   JPanel中的java菜单   如何在java控制台输出中打印带下划线的字符串   java日期转换无法正常工作   java如何用try/catch最优雅地围绕代码   客户端在浏览器中键入的jsp日期不保存在java POJO中(客户端发送的请求在语法上不正确)   在java中使用BufferedOutputStream打印整数   如何在ubuntu中安装java软件的依赖项。?   java有没有一种方法可以让NetBeans在单独的一行中自动创建括号?   java如何使用真正的浮动操作按钮(FAB)扩展?   10000毫秒后,java无法从/192.168.0.102(端口47108)连接到/192.168.0.101(端口443)   java为什么要使用notify?