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 相关文章推荐
python使用win32com在百度空间插入html元素示例
Feb 20 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
Jul 11 Python
Python读取sqlite数据库文件的方法分析
Aug 07 Python
分享给Python新手们的几道简单练习题
Sep 21 Python
Python实现处理逆波兰表达式示例
Jul 30 Python
Python构建图像分类识别器的方法
Jan 12 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
Feb 16 Python
Python分布式进程中你会遇到的问题解析
May 28 Python
python GUI图形化编程wxpython的使用
Jul 19 Python
python爬虫 urllib模块发起post请求过程解析
Aug 20 Python
python2.7使用scapy发送syn实例
May 05 Python
深入理解python多线程编程
Apr 18 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一句话cmdshell新型 (非一句话木马)
2009/04/18 PHP
判断PHP数组是否为空的代码
2011/09/08 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
2013/08/05 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
2014/06/23 PHP
PHP中的魔术方法总结和使用实例
2015/05/11 PHP
关于PHP中Session文件过多的问题及session文件保存位置
2016/03/17 PHP
浅谈PHP中的
2016/04/23 PHP
读jQuery之三(构建选择器)
2011/06/11 Javascript
通过jquery还原含有rowspan、colspan的table的实现方法
2012/02/10 Javascript
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
2013/07/04 Javascript
jquery 实现两Select 标签项互调示例代码
2014/09/25 Javascript
CSS3,HTML5和jQuery搜索框集锦
2014/12/02 Javascript
iScroll中事件点击触发两次解决方案
2015/03/11 Javascript
JavaScript通过select动态更换图片的方法
2015/03/23 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
JQuery实现DIV其他动画效果的简单实例
2016/09/18 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
微信小程序 腾讯地图显示偏差问题解决
2019/07/27 Javascript
浅析JavaScript 函数防抖和节流
2020/07/13 Javascript
vue路由分文件拆分管理详解
2020/08/13 Javascript
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
[01:02:45]完美世界DOTA2联赛 LBZS vs Forest 第三场 11.07
2020/11/09 DOTA
利用python的socket发送http(s)请求方法示例
2018/05/07 Python
使用python itchat包爬取微信好友头像形成矩形头像集的方法
2019/02/21 Python
浅谈Python中的继承
2020/06/19 Python
在Python中实现字典反转案例
2020/12/05 Python
彻底解决pip下载pytorch慢的问题方法
2021/03/01 Python
HTML5之web workers_动力节点Java学院整理
2017/07/17 HTML / CSS
Evisu官方网站:日本牛仔品牌,时尚街头设计风格
2016/12/30 全球购物
学校对教师的评语
2014/04/28 职场文书
学校评语大全
2014/05/06 职场文书
春秋淹城导游词
2015/02/11 职场文书
小学运动会宣传稿
2015/07/23 职场文书
Python绘画好看的星空图
2022/03/17 Python
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS