Tp-Link M7350 4G LTE路由器-使用带有Raspberry Pi的python脚本发送短信 树莓皮4B 4GB与皮Os TP链路M7350 4G LTE路由器

Tp-Link M7350 4G LTE路由器-使用带有Raspberry Pi的python脚本发送短信 树莓皮4B 4GB与皮Os TP链路M7350 4G LTE路由器,python,raspberry-pi,sms,lte,Python,Raspberry Pi,Sms,Lte,在互联网上搜索了很长时间,寻找如何使用python脚本和M7350发送短信的指南后,我只找到了MR-6400型 路由器模拟器页面如下所示: 找到型号MR-6400的代码 # -*- coding: utf8 -*- """ Send SMS via TP-Link TL-MR6400. This code shows how to send an SMS using the admin GUI of the above router. FIXME TODO ad

在互联网上搜索了很长时间,寻找如何使用python脚本和M7350发送短信的指南后,我只找到了MR-6400型


路由器模拟器页面如下所示:

找到型号MR-6400的代码

# -*- coding: utf8 -*-
"""
Send SMS via TP-Link TL-MR6400.
This code shows how to send an SMS using the admin GUI of the above router.
FIXME TODO add error handling, logging
Author: Fabio Pani <fabiux@fabiopani.it>
License: see LICENSE
"""
from hashlib import md5
from base64 import b64encode
from datetime import datetime
from time import strftime
import requests

# SMS
router_domain = '192.168.1.1'  # set actual IP or hostname of your router
router_url = 'http://' + router_domain + '/'
router_login_path = 'userRpm/LoginRpm.htm?Save=Save'
router_sms_referer = '/userRpm/_lte_SmsNewMessageCfgRpm.htm'
router_sms_action = '/userRpm/lteWebCfg'
router_admin = 'ADMIN_USERNAME'  # set admin username
router_pwd = 'ADMIN_PASSWORD'  # set admin password


def send_sms(phone_num, msg):
"""
Send an SMS via TP-Link TL-MR6400.
:param phone_num: recipient's phone number
:type phone_num: str
:param msg: message to send
:type msg: str
"""
# SMS payload
sms = {'module': 'message',
       'action': 3,
       'sendMessage': {
           'to': phone_num,
           'textContent': msg,
           'sendTime': strftime('%Y,%-m,%-d,%-H,%-M,%-S', datetime.now().timetuple())
       }}

# authentication
authstring = router_admin + ':' + md5(router_pwd.encode('utf-8')).hexdigest()
authstring = 'Basic ' + b64encode(authstring.encode('utf-8')).decode('utf-8')
cookie = {'Authorization': authstring, 'Path': '/', 'Domain': router_domain}
s = requests.Session()
r = s.get(router_url + router_login_path, cookies=cookie)
if r.status_code != 200:
    # FIXME TODO log errors
    exit()
hashlogin = r.text.split('/')[3]
sms_form_page = router_url + hashlogin + router_sms_referer
sms_action_page = router_url + hashlogin + router_sms_action

# send SMS
s.headers.update({'referer': sms_form_page})
r = s.post(sms_action_page, json=sms, cookies=cookie)
if r.status_code != 200:
    # FIXME TODO log errors
    pass
#-*-编码:utf8-*-
"""
通过TP链路TL-MR6400发送短信。
此代码显示如何使用上述路由器的管理GUI发送SMS。
FIXME TODO添加错误处理、日志记录
作者:法比奥·帕尼
许可证:请参阅许可证
"""
从hashlib导入md5
从base64导入b64encode
从日期时间导入日期时间
从时间导入strftime
导入请求
#短信
路由器\域='192.168.1.1'\设置路由器的实际IP或主机名
路由器\u url='http://'+路由器\u域+'/'
路由器\登录\路径='userRpm/LoginRpm.htm?保存=保存'
路由器\u sms\u referer='/userRpm/\u lte\u SmsNewMessageCfgRpm.htm'
路由器\u sms\u操作='/userRpm/lteWebCfg'
路由器\管理='管理\用户名'\设置管理用户名
路由器_pwd='ADMIN_PASSWORD'#设置管理员密码
def发送短信(电话号码、信息):
"""
通过TP链路TL-MR6400发送短信。
:param phone_num:收件人的电话号码
:键入电话号码:str
:param msg:要发送的消息
:type msg:str
"""
#短信有效载荷
sms={'module':'message',
"行动":3,,
“发送消息”:{
“收件人”:电话号码,
'textContent':msg,
'sendTime':strftime(“%Y,%-m,%-d,%-H,%-m,%-S',datetime.now().timetuple())
}}
#认证
authstring=router_admin+':'+md5(router_pwd.encode('utf-8')).hexdigest()
authstring='Basic'+b64encode(authstring.encode('utf-8')).decode('utf-8'))
cookie={'Authorization':authstring,'Path':'/','Domain':路由器\域}
s=请求。会话()
r=s.get(路由器url+路由器登录路径,cookies=cookie)
如果r.status_代码!=200:
#修复TODO日志错误
退出()
hashlogin=r.text.split('/')[3]
短信表单页面=路由器url+哈希登录+路由器短信参考
短信操作页面=路由器url+哈希登录+路由器短信操作
#发送短信
s、 headers.update({'referer':sms\u form\u page})
r=s.post(sms\u action\u页面,json=sms,cookies=cookie)
如果r.status_代码!=200:
#修复TODO日志错误
通过