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中函数的参数定义和可变参数用法实例分析
Jun 04 Python
Python使用tablib生成excel文件的简单实现方法
Mar 16 Python
更改Ubuntu默认python版本的两种方法python-> Anaconda
Dec 18 Python
Python 专题三 字符串的基础知识
Mar 19 Python
Python实现压缩文件夹与解压缩zip文件的方法
Sep 01 Python
使用python3实现操作串口详解
Jan 01 Python
python3 实现调用串口功能
Dec 26 Python
Keras使用tensorboard显示训练过程的实例
Feb 15 Python
python使用gdal对shp读取,新建和更新的实例
Mar 10 Python
解决在keras中使用model.save()函数保存模型失败的问题
May 21 Python
利用python中的matplotlib打印混淆矩阵实例
Jun 16 Python
python 30行代码实现蚂蚁森林自动偷能量
Feb 08 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独立Session数据库存储操作类分享
2014/06/11 PHP
Yii调试SQL的常用方法
2014/07/09 PHP
用PHP的socket实现客户端到服务端的通信实例详解
2017/02/04 PHP
PHP获取MySQL执行sql语句的查询时间方法
2018/08/21 PHP
javascript代码编写需要注意的7个小细节小结
2011/09/21 Javascript
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
2013/01/06 Javascript
利用jQuery的deferred对象实现异步按顺序加载JS文件
2013/03/17 Javascript
js获得当前时区夏令时发生和终止的时间代码
2014/02/23 Javascript
使用javascript获取页面名称
2014/12/23 Javascript
jQuery实现仿淘宝带有指示条的图片转动切换效果完整实例
2015/03/04 Javascript
js实现千分符和保留几位小数的简单实例
2016/08/01 Javascript
js实现精确到毫秒的倒计时效果
2016/08/05 Javascript
利用angular.copy取消变量的双向绑定与解析
2016/11/25 Javascript
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
Angular.js实现动态加载组件详解
2017/05/28 Javascript
react native带索引的城市列表组件的实例代码
2017/08/08 Javascript
基于vue.js路由参数的实例讲解——简单易懂
2017/09/07 Javascript
bootstrap datetimepicker控件位置异常的解决方法
2017/11/23 Javascript
解决VUE框架 导致绑定事件的阻止冒泡失效问题
2018/02/24 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
vue+elementUI组件table实现前端分页功能
2020/11/15 Javascript
原生JS实现弹幕效果的简单操作指南
2020/11/10 Javascript
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
Python走楼梯问题解决方法示例
2018/07/25 Python
Python3.0 实现决策树算法的流程
2019/08/08 Python
用python拟合等角螺线的实现示例
2019/12/27 Python
Airbnb爱彼迎官网:成为爱彼迎房东,赚取收入
2019/03/14 全球购物
办理信用卡工作证明
2014/01/11 职场文书
《识字五》教学反思
2014/03/01 职场文书
“四风”查摆问题自我剖析材料
2014/09/27 职场文书
毕业论文致谢怎么写
2015/05/14 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL
教你怎么用Python监控愉客行车程
2021/04/29 Python
pytorch Dropout过拟合的操作
2021/05/27 Python
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis