python重启路由器_Python3控制路由器——使用requests重启极路由.py

通过本文给大家介绍Python3控制路由器——使用requests重启极路由.py的相关知识,代码写了相应的注释,以后再写成可以方便调用的模块。

用fiddler抓包可以看到很多HTTP头,经过尝试发现不是都必须的。

'Upgrade-Insecure-Requests':1,#必要项,值为1

'Content-Type':'application/x-www-form-urlencoded',#必要项

否则取不到服务顺响应返回的Set-Cookie

"""

python3控制路由器--使用requests重启极路由.py

2016年5月10日 06:20:56 codegay

参考资料requests文档:

http://cn.python-requests.org/zh_CN/latest/

"""

import requests

import re

url="http://192.168.199.1/cgi-bin/turbo/admin_web"

#用fiddler抓包可以看到很多HTTP头,经过尝试发现不是都必须的。

#'Upgrade-Insecure-Requests':1,#必要项,值为1

#'Content-Type':'application/x-www-form-urlencoded',#必要项

#否则取不到服务顺响应返回的Set-Cookie

head={#'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',

'Upgrade-Insecure-Requests':1,

'Content-Type':'application/x-www-form-urlencoded',

#'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36',

#'DNT':1,

#'Referer':'http://192.168.199.1/cgi-bin/turbo/admin_web'

}

s=requests.Session()

r=s.post(url,data="username=admin&password=你的密码",headers=head)

txt=r.text

stok=re.findall('''stok=(\w+).+?reboot''',txt)[0]

#stok会得到类似的字符串

#stok='1f7a2b7034c67401a20d4ce0cdde7c7d'

print(stok)

rooturl='http://192.168.199.1/cgi-bin/turbo/'

stokurl=rooturl + ';stok=%s/api/system/reboot' % stok

#带着成功登录后的cookies,并且找出stok,拼成下如URL get请求一次就可以完成路由的重启

#stokurl='http://192.168.199.1/cgi-bin/turbo/;stok=78e3516718ff32250fa796ed4462188c/api/system/reboot'

reboot=s.get(stokurl) #重启

关于本文给大家介绍的Python3控制路由器——使用requests重启极路由.py的知识就给大家介绍这么多,本文代码内容附有注释,大家在参考过程中有任何疑问欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对我们网站的支持!

本文标题: Python3控制路由器——使用requests重启极路由.py

本文地址: http://www.cppcns.com/jiaoben/python/150187.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/365629.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从Ant Build演进Gradle Build:导入Ant Build文件

在大型项目上更改构建系统可能很困难并且需要大量工作。 幸运的是,对于那些将Ant版本迁移到Gradle版本的人,Gradle提供了特别方便的机制来促进这种迁移 。 由于Gradle基于Groovy构建,并且Groovy通过AntBuilder包含内置的Ant支持,因…

洛谷——P2719 搞笑世界杯

P2719 搞笑世界杯 题目描述 随着世界杯小组赛的结束,法国,阿根廷等世界强队都纷纷被淘汰,让人心痛不已. 于是有人组织了一场搞笑世界杯,将这些被淘汰的强队重新组织起来和世界杯一同比赛.你和你的朋友欣然去购买球票.不过搞笑世界杯的球票出售方式也很特别,它们只准备了两种球票…

HTML5 之 简单汇总

参考: HTML5的十大新特性 前端面试必备之html5的新特性 HTML5 主要内容:语义化、增强型表单、多媒体标签、Canvas、SVG、地理定位、拖放API、Web Worker、Web Storage、WebSocket、HTML 5 应用程序缓存 1.语义化元素 1.1结构元素 标签描述article表示与上…

个人信息管理系统代码_Thymeleaf+SpringBoot+Mybatis实现的易游网旅游信息管理系统...

项目简介项目源码:麻烦转发后关注JAVA梦想口服液私信回复【源码】即可获取!本系统是基于ThymeleafSpringBootMybatis。是非常标准的SSM三大框架(SpringBoot就是一个大框架,里面包含了许多的东西,其中Spring就是最核心的内容&#…

HTML速查列表

HTML速查列表 HTML基本文档 <!DOCTYPE html> <html> <head> <title>文档标题</title> </head> <body> 可见文本... </body> </html> 基本标签&#xff08;Basic Tags&#xff09; <h1>最大的标题</h1> &l…

被问到有没有内核开发经验_一个人就是一个开发团队!成电硬核毕业生自制迷你电脑走红!...

△小视频近日&#xff0c;一段长3分多钟的小视频在B站突然爆红&#xff0c;不仅登上首页&#xff0c;获得超过200万的播放量&#xff0c;还被众多观众“膜拜”。有网友在评论区说&#xff1a;“其实这些东西吧&#xff0c;外行看起来很牛&#xff0c;但我这种内行看起来&#x…

使用英特尔性能计数器调整垃圾收集

介绍 我不得不承认我很震惊。 确实&#xff0c;当我意识到这个出现的日历帖子将涉及垃圾收集时&#xff0c;我感到非常震惊。 GC的主题引起了Java倡导者和那些认为内存管理应该是手动的人的热情。 撰写了许多文章&#xff0c;内容涉及看起来奇怪的命令行参数中的细微变化&#…

matlab2010a连接mysql_MATLAB2010a+OpenCV2.3.1+VS2010运行TLD

出现matlab不显示C编译器的原因主要还是当前Matlab版本相对于VS来说不够新&#xff0c;比如14版的肯定支持10的VS。 本文引用地址&#xff1a; http://blog.csdn.net/shanpohe/article/details/7596401 http://blog.sina.com.cn/s/blog_adfd55190101ejvr.html TLD(Tracking Lea…

理解总结篇—List、Set、Map

List是存储对象的容器&#xff0c;可以存储任意类型的对象且长度可变&#xff0c;List的存储对象是有顺序的&#xff0c;可重复的。 <1> List的接口框架 ArrayList实现类通过数组实现&#xff0c;在向集合中增加或删除时&#xff0c;需要对集合进行增容和拷贝&#xff0c…

SpringBoot+Redis使用jedis实现了对Redis基本类型操作超全工具类

这编文章主要介绍了springboot整合redis&#xff0c;使用jedis实现了对Redis基本类型操作&#xff0c;一些redis的常用命令总结到了一个公共的工具类中,其中使用了fastjson作为了序列化工具。 注&#xff1a;使用了 jdk 1.8 新特性 &#xff0c;jdk版本需要>1.8 一.添加mave…

更改span标签样式_CSS 内嵌样式

前面一节我们讲了行内样式&#xff0c;但是行内样式的缺点就是样式不能重用。例如当有好多个 标签&#xff0c;我们希望所有的 标签的样式都一致&#xff0c;那么需要在每个标签中都写一遍&#xff0c;这么会很麻烦&#xff0c;也会增加很多代码。那么为了解决这个问题&#…

js 函数节流

//es6语法export function debounce(func, delay) {let timer//返回一个函数&#xff0c;并拿到参数return function (...args) {if (timer) {clearTimeout(timer)}timer setTimeout(() > {func.apply(this, args)}, delay)} } //简单实现var debounce function(idle, act…

mysql 6安装当前密码_MySQL8.0 安装踩坑指南

就在昨天上午&#xff0c;刚为云服务器安装好Apache2.4.33和PHP7.2.4环境&#xff0c;准备再来一个最新的MySQL5.7.22。寻找5.7版本的rpm包时下到mysql80xxx.rpm&#xff0c;看人家的教程是mysql57&#xff0c;难道80是MySQL出出…出了8版&#xff0c;一搜新闻2个小时前MySQL发…

如何用Java编写最快的表达式评估器之一

当然&#xff0c;标题有点吸引人&#xff0c;但确实如此&#xff08;您当然不相信自己没有伪造自己的基准&#xff0c;但这是另一回事了&#xff09;。 因此&#xff0c;上周我正在寻找一个小型且可用的库来评估数学表达式。 我几乎直接偶然发现了这个stackoverflow帖子 。 推…

Elasticsearch环境搭建和介绍(Windows)

一、Elasticsearch介绍和安装 1.1 介绍 Elastic Elastic官网&#xff1a;https://www.elastic.co/cn/ Elastic有一条完整的产品线&#xff1a;Elasticsearch、Kibana、Logstash等&#xff0c;前面说的三个就是大家常说的ELK技术栈。 Elasticsearch Elasticsearch官网&#xff1…

python 银行业务系统程序编程写_python多线程实现代码(模拟银行服务操作流程)

1.模拟银行服务完成程序代码目前&#xff0c;在以银行营业大厅为代表的窗口行业中大量使用排队(叫号)系统&#xff0c;该系统完全模拟了人群排队全过程&#xff0c;通过取票进队、排队等待、叫号服务等功能&#xff0c;代替了人们站队的辛苦。排队叫号软件的具体操作流程为&…

vue 新版本 webpack 代理 跨域设置

旧版本中&#xff1a;dev-server.js 这段去掉 var apiRoutes express.Router() //getList apiRoutes.get(/getDiscList, function (req, res) {var url https://c.y.qq.com/splcloud/fcgi-bin/fcg_get_diss_by_tag.fcgaxios.get(url, {headers: {referer: https://c.y.qq.com…

人月神话(2)

我不知道为什么作者要拿外科医生举例子&#xff0c;在我眼里足球队更合适&#xff0c;或者说更贴近生活&#xff0c;让人们更容易理解。人的专业水平&#xff0c;在刚开始其实没什么可比性&#xff0c;试问&#xff1a;一个有小学学历的人和一个有初中学历的人在大公司招聘时有…

mysql查询出过去一个月_Mysql查询今天、昨天、7天、近30天、本月、上一月 数据...

今天select * from 表名 where to_days(时间字段名) to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) < 17天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) < date(时间字段名)近30天SELECT * FROM 表名 where…

Jar Hell变得轻松–用jHades揭秘classpath

Java开发人员将不得不面对的最困难的问题是类路径错误&#xff1a; ClassNotFoundException &#xff0c; NoClassDefFoundError &#xff0c;Jar Hell&#xff0c; Xerces Hell和company。 在本文中&#xff0c;我们将探究这些问题的根本原因&#xff0c;并了解最小的工具&am…