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之开始真正编程
Sep 12 Python
Python ValueError: invalid literal for int() with base 10 实用解决方法
Jun 21 Python
深入讲解Python编程中的字符串
Oct 14 Python
python的else子句使用指南
Feb 27 Python
Python实现数据库并行读取和写入实例
Jun 09 Python
python3个性签名设计实现代码
Jun 19 Python
Python中GIL的使用详解
Oct 03 Python
python绘制玫瑰的实现代码
Mar 02 Python
Python yield的用法实例分析
Mar 06 Python
Python如何使用正则表达式爬取京东商品信息
Jun 01 Python
Django REST framework 限流功能的使用
Jun 24 Python
Pillow图像处理库安装及使用
Apr 12 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
重置版游戏视频
2020/04/09 魔兽争霸
深入php常用函数的使用汇总
2013/06/08 PHP
ThinkPHP 3.2 版本升级了哪些内容
2015/03/05 PHP
php中注册器模式类用法实例分析
2015/11/03 PHP
thinkPHP基于ajax实现的菜单与分页示例
2016/07/12 PHP
yii gridview实现时间段筛选功能
2017/08/15 PHP
php生成word并下载代码实例
2019/03/15 PHP
贴一个在Mozilla中常用的Javascript代码
2007/01/09 Javascript
jQuery Ajax 实例全解析
2011/04/20 Javascript
JS随即打乱数组实现代码
2012/12/03 Javascript
浅析Node.js中的内存泄漏问题
2015/06/23 Javascript
javascript简单实现等比例缩小图片的方法
2016/07/27 Javascript
jQuery Ajax Post 回调函数不执行问题的解决方法
2016/08/15 Javascript
简单实现Vue的observer和watcher
2016/12/21 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
2017/12/07 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
2017/12/09 Javascript
Vue中render方法的使用详解
2018/01/26 Javascript
vue 做移动端微信公众号采坑经验记录
2018/04/26 Javascript
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
微信小程序自定义tabBar组件开发详解
2020/09/24 Javascript
基于Vue SEO的四种方案(小结)
2019/07/01 Javascript
[47:43]完美世界DOTA2联赛PWL S3 Magama vs GXR 第二场 12.19
2020/12/24 DOTA
Python实现获取命令行输出结果的方法
2017/06/10 Python
python机器学习实现决策树
2019/11/11 Python
Python: 传递列表副本方式
2019/12/19 Python
Python生成随机验证码代码实例解析
2020/06/09 Python
html5实现九宫格抽奖可固定抽中某项奖品
2020/06/15 HTML / CSS
营销与策划个人求职信
2013/09/22 职场文书
大学生求职信范文应怎么写
2014/01/01 职场文书
职业培训师职业生涯规划
2014/02/18 职场文书
质量保证书怎么写
2015/02/27 职场文书
2016七夕情人节寄语
2015/12/04 职场文书
党员学习中国梦心得体会
2016/01/05 职场文书
Python趣味挑战之实现简易版音乐播放器
2021/05/28 Python
Django实现聊天机器人
2021/05/31 Python
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技