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创建xml的方法
Mar 10 Python
Python multiprocessing模块中的Pipe管道使用实例
Apr 11 Python
Python中的连接符(+、+=)示例详解
Jan 13 Python
django认证系统实现自定义权限管理的方法
Jul 16 Python
Python图像处理之gif动态图的解析与合成操作详解
Dec 30 Python
Python功能点实现:函数级/代码块级计时器
Jan 02 Python
利用Python+阿里云实现DDNS动态域名解析的方法
Apr 01 Python
pywinauto自动化操作记事本
Aug 26 Python
wxPython实现分隔窗口
Nov 19 Python
python求最大公约数和最小公倍数的简单方法
Feb 13 Python
keras分类模型中的输入数据与标签的维度实例
Jul 03 Python
Python爬虫分析微博热搜关键词的实现代码
Feb 22 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中extract()函数的妙用分析
2012/07/11 PHP
PHP函数eval()介绍和使用示例
2014/08/20 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
PHP设计模式之工厂模式实例总结
2017/09/01 PHP
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
{}与function(){}选用空对象{}来存放keyValue
2012/05/23 Javascript
浅谈Javascript Base64 加密解密
2014/12/28 Javascript
javascript控制层显示或隐藏的方法
2015/07/22 Javascript
基于JavaScript怎么实现让歌词滚动播放
2015/11/03 Javascript
Bootstrap富文本组件wysiwyg数据保存到mysql的方法
2016/05/09 Javascript
js 博客内容进度插件详解
2017/02/19 Javascript
JS实现将链接生成二维码并转为图片的方法
2018/03/17 Javascript
详解ES6 Promise对象then方法链式调用
2018/10/20 Javascript
Vue.js组件间通信方式总结【推荐】
2018/11/23 Javascript
Vue实现拖放排序功能的实例代码
2019/07/08 Javascript
vue实现网络图片瀑布流 + 下拉刷新 + 上拉加载更多(步骤详解)
2020/01/14 Javascript
JavaScript enum枚举类型定义及使用方法
2020/05/15 Javascript
深入分析JavaScript 事件循环(Event Loop)
2020/06/19 Javascript
纯JS开发baguetteBox.js响应式画廊插件
2020/06/28 Javascript
调试Python程序代码的几种方法总结
2015/04/28 Python
python3设计模式之简单工厂模式
2017/10/17 Python
Python中Scrapy爬虫图片处理详解
2017/11/29 Python
python 把列表转化为字符串的方法
2018/10/23 Python
Python生成一个迭代器的实操方法
2019/06/18 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
2021/03/03 Python
基于CSS3实现的黑色个性导航菜单效果
2015/09/14 HTML / CSS
鞋子女王塔玛拉·梅隆同名奢侈品牌:Tamara Mellon
2017/11/22 全球购物
企划主管岗位职责
2013/12/12 职场文书
医药销售求职信范文
2014/02/01 职场文书
合作意向协议书范本
2014/03/31 职场文书
《风筝》教学反思
2014/04/10 职场文书
2014幼儿园班主任工作总结
2014/12/04 职场文书
庭外和解协议书
2016/03/23 职场文书
Angular CLI发布路径的配置项浅析
2021/03/29 Javascript
idea搭建可运行Servlet的Web项目
2021/06/26 Java/Android