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


Posted in Python onMay 11, 2016

通过本文给大家介绍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的知识就给大家介绍这么多,本文代码内容附有注释,大家在参考过程中有任何疑问欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
CentOS下使用yum安装python-pip失败的完美解决方法
Aug 16 Python
python web.py开发httpserver解决跨域问题实例解析
Feb 12 Python
Python 通配符删除文件的实例
Apr 24 Python
Python SMTP发送邮件遇到的一些问题及解决办法
Oct 24 Python
Python实现常见的回文字符串算法
Nov 14 Python
python提取包含关键字的整行数据方法
Dec 11 Python
Python关于excel和shp的使用在matplotlib
Jan 03 Python
Django Sitemap 站点地图的实现方法
Apr 29 Python
利用Python实现某OA系统的自动定位功能
May 27 Python
Selenium 安装和简单使用的实现
Dec 04 Python
python 遍历磁盘目录的三种方法
Apr 02 Python
PyTorch device与cuda.device用法
Apr 03 Python
Python3使用requests登录人人影视网站的方法
May 11 #Python
在Django中进行用户注册和邮箱验证的方法
May 09 #Python
Python数据类型详解(三)元祖:tuple
May 08 #Python
Python数据类型详解(二)列表
May 08 #Python
Python数据类型详解(一)字符串
May 08 #Python
Python常用知识点汇总
May 08 #Python
Python对list列表结构中的值进行去重的方法总结
May 07 #Python
You might like
PHP+javascript制作带提示的验证码源码分享
2014/05/28 PHP
ThinkPHP实例化模型的四种方法概述
2014/08/22 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
2014/09/22 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
tp5修改(实现即点即改)
2019/10/18 PHP
JavaScript 计算图片加载数量的代码
2011/01/01 Javascript
Javascript代码实现仿实例化类
2015/04/03 Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
2015/08/12 Javascript
跟我学习javascript的最新标准ES6
2015/11/20 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
Javascript基础之数组的使用
2016/05/13 Javascript
jquery实现异步加载图片(懒加载图片一种方式)
2017/04/24 jQuery
Angular 4依赖注入学习教程之简介(一)
2017/06/04 Javascript
记一次webapck4 配置文件无效的解决历程
2018/09/19 Javascript
JavaScript中this的全面解析及常见实例
2019/05/14 Javascript
Vuex实现数据增加和删除功能
2019/11/11 Javascript
Python实现基于权重的随机数2种方法
2015/04/28 Python
python 获取当天凌晨零点的时间戳方法
2018/05/22 Python
django做form表单的数据验证过程详解
2019/07/26 Python
python pygame实现挡板弹球游戏
2019/11/25 Python
Django3.0 异步通信初体验(小结)
2019/12/04 Python
Python获取、格式化当前时间日期的方法
2020/02/10 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
2020/03/16 Python
解决Python3.8运行tornado项目报NotImplementedError错误
2020/09/02 Python
Django框架安装及项目创建过程解析
2020/09/14 Python
波比布朗英国官网:Bobbi Brown英国
2017/11/13 全球购物
美国领先的家庭智能音响系统品牌:Sonos
2018/07/20 全球购物
华为消费者德国官方网站:HUAWEI德国
2020/11/03 全球购物
工作分析计划书
2014/04/30 职场文书
安全生产目标管理责任书
2014/07/25 职场文书
2014财务年度工作总结
2014/11/11 职场文书
小学生教师节广播稿
2015/08/19 职场文书
经典法律座右铭(50句)
2019/08/15 职场文书
Python3中PyQt5简单实现文件打开及保存
2021/06/10 Python
Redis读写分离搭建的完整步骤
2021/09/14 Redis