python短信猫发送

1年前 (2023-10-27)阅读105回复0
钱良钗
钱良钗
  • 注册排名10014
  • 经验值0
  • 级别
  • 主题0
  • 回复0
楼主

短信猫是一种将短信以电信方式发送的设备,可以方便地用于开发短信应用程序。而Python则是一门高效的编程语言,与短信猫结合使用可以实现各种基于短信的应用。

# 导入serial库和time库
import serial
import time
# 短信猫串口相关参数
ser = serial.Serial()
ser.port = 'COM4'  # 短信猫连接在COM4端口
ser.baudrate = 9600  # 串口波特率为9600
ser.bytesize = 8
ser.stopbits = 1
ser.timeout = None
# 打开串口
ser.open()
# 判断串口是否已打开
if ser.isOpen():
print('串口已打开')
else:
print('串口打开失败')
# 设置短信中心号码
ser.write(b'AT+CSCA="106581388001"\r\n') 
# 等待短信中心号码设置成功
time.sleep(1)
# 设定短信格式为PDU
ser.write(b'AT+CMGF=0\r\n')
# 短信内容编码方式为16进制
msg = 'Hello World!'
pdu = msg.encode('hex')
# 设置短信接收方号码
phone_num = '86137xxxxxxxx'
# 计算短信长度,不足两位时前面补0
msg_len = hex(len(msg))[2:]
if len(msg_len) % 2 == 1:
msg_len = '0' + msg_len
# 组合PDU格式
pdu = '0011000D91' + phone_num + '00' + msg_len + pdu
# 发送短信
cmd = 'AT+CMGS=' + str(len(pdu) / 2 - 1) + '\r\n'
ser.write(cmd.encode('utf-8'))
time.sleep(1)
ser.write((pdu + '1A').decode('hex'))
# 关闭串口
ser.close()

上述代码演示了如何使用Python与短信猫结合发送一条短信。其中,先设定了短信中心号码,将短信格式设置为PDU,并按照PDU格式组装短信内容,并将其发送。需要注意的是,发送短信时需先发送“AT+CMGS”命令,指定短信长度后再发送短信内容,最后以1A结尾。

本文可能转载于网络公开资源,如果侵犯您的权益,请联系我们删除。

本文地址:https://www.pyask.cn/info/2342.html

0
回帖

python短信猫发送 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息