Grows towards sunlight - 自动重启
type: channel
link: https://suroy.cn/tag/%E8%87%AA%E5%8A%A8%E9%87%8D%E5%90%AF/
items: 通过Python脚本实现电信天翼网关定时重启

通过Python脚本实现电信天翼网关定时重启
type: item
date: 2021-08-12T00:17:00+08:00
description: 编写脚本实现定时重启天翼网关2021.8.10电信送的光猫长期使用，不重启性能堪忧，本文通过抓包分析，编写脚本实现定时重启网关拨号，优化网络质量。代码分析function realRestart() { showOrHidePopWindowFromIframe("hide"); //执行重启 (new XHR()).post('/cgi-bin/luci/admin/reboot', // Suroy: 异步请求，继续翻 { token: '37b37e2d5d79ec966ec035748f7981ce' }, // Suroy: 好家伙，真不把用户当外人的，淦！ function(x){ parent.location = "/cgi-bin/luci"; }); } function doRestart() { cleanPopWindowContent(); //填充内容 $("#pop_window_title").html("重启确认"); $("#pop_window_icon").html(' '); $("#pop_window_message").html("您真的要重启您的网关吗？"); //更改确认操作函数 var eid = document.getElementById("confirm"); eid.onclick = function() { realRestart() }; showOrHidePopWindow("show"); } this.post = function(url,data,callback) { this.reinit(); var xhr = this._xmlHttp; var code = this._encode(data); // Suroy: 关键代码，封装post数据，相关函数已经贴到下放 xhr.onreadystatechange = function() { if (xhr.readyState == 4) callback(xhr); } xhr.open('POST', url, true); xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); xhr.send(code); } this._encode = function(obj) { obj = obj ? obj : { }; obj['_'] = Math.random(); // Suroy: 加了一个参数 _ 值是随机数，经测试不做校验可以随便填 if (typeof obj == 'object') { var code = ''; var self = this; for (var k in obj) code += (code ? '&' : '') + k + '=' + encodeURIComponent(obj[k]); return code; } return obj; }正片Python程序# -*- encoding:utf-8 -*- """ @author: @Suroy @site: https://suroy.cn/ @email: suroy@qq.com @time: 2021/8/12 10:48 上午 """ import requests, re # 登陆 def login(): url = "http://192.168.1.1/cgi-bin/luci" payload='username=useradmin&psd=xxxx' # 用户名密码 headers = { 'Host': '192.168.1.1', 'Content-Length': '28', 'Cache-Control': 'max-age=0', 'Upgrade-Insecure-Requests': '1', 'Origin': 'http://192.168.1.1', 'Content-Type': 'application/x-www-form-urlencoded', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,ap…