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 调用有道api接口的方法
Jan 03 Python
python批量创建指定名称的文件夹
Mar 21 Python
pytorch使用Variable实现线性回归
May 21 Python
Python闭包和装饰器用法实例详解
May 22 Python
Python使用sklearn实现的各种回归算法示例
Jul 04 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
Apr 26 Python
Python实现快速大文件比较代码解析
Sep 04 Python
python的dict判断key是否存在的方法
Dec 09 Python
python中uuid模块实例浅析
Dec 29 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
Feb 22 Python
Python基础之元组与文件知识总结
May 19 Python
Python卷积神经网络图片分类框架详解分析
Nov 07 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
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
PHP编程中字符串处理的5个技巧小结
2007/11/13 PHP
array_multisort实现PHP多维数组排序示例讲解
2011/01/04 PHP
PHP数字金额转换成中文大写显示
2019/01/05 PHP
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
2013/05/27 Javascript
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
网站接入QQ登录的两种方法
2014/07/22 Javascript
javascript动态修改Li节点值的方法
2015/01/20 Javascript
IE中鼠标经过option触发mouseout的解决方法
2015/01/29 Javascript
jQuery实现的输入框选择时间插件用法实例
2015/02/28 Javascript
javascript中获取class的简单实现
2016/07/12 Javascript
JavaScript判断浏览器及其版本信息
2017/01/20 Javascript
基于vue2的table分页组件实现方法
2017/03/20 Javascript
JS使用插件cryptojs进行加密解密数据实例
2017/05/11 Javascript
详解Vue项目中实现锚点定位
2019/04/24 Javascript
javascript实现超好看的3D烟花特效
2020/01/01 Javascript
vue-video-player 解决微信自动全屏播放问题(横竖屏导致样式错乱问题)
2020/02/25 Javascript
解决vue项目中某一页面不想引用公共组件app.vue的问题
2020/08/14 Javascript
Python切片用法实例教程
2014/09/08 Python
Python中的id()函数指的什么
2017/10/17 Python
Python Unittest自动化单元测试框架详解
2018/04/04 Python
一些Centos Python 生产环境的部署命令(推荐)
2018/05/07 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
python顺序执行多个py文件的方法
2019/06/29 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
Keras - GPU ID 和显存占用设定步骤
2020/06/22 Python
详解pandas赋值失败问题解决
2020/11/29 Python
朗仕(Lab series)英国官网:雅诗兰黛集团男士专属护肤品牌
2017/11/28 全球购物
Lancome兰蔻官方旗舰店:来自法国的世界知名美妆品牌
2018/06/14 全球购物
美国折扣香水网站:The Perfume Spot
2020/12/12 全球购物
JavaScript实现前端网页版倒计时
2021/03/24 Javascript
材料加工硕士生求职信
2013/10/10 职场文书
销售文员岗位职责
2013/11/29 职场文书
物理专业本科生自荐信
2014/01/30 职场文书
数控专业毕业生求职信
2014/06/12 职场文书
捐款通知怎么写
2015/04/24 职场文书