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中的zip函数使用示例
Jan 29 Python
Python制作钉钉加密/解密工具
Dec 07 Python
Python简单实现网页内容抓取功能示例
Jun 07 Python
python将excel转换为csv的代码方法总结
Jul 03 Python
python实现的汉诺塔算法示例
Oct 23 Python
python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例
Mar 06 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
Mar 24 Python
python3读取autocad图形文件.py实例
Jun 05 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
Oct 12 Python
如何利用Python写个坦克大战
Nov 18 Python
python 基于PYMYSQL使用MYSQL数据库
Dec 24 Python
python实现马丁策略的实例详解
Jan 15 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、cookie
2010/11/01 PHP
PHP pathinfo()获得文件的路径、名称等信息说明
2011/09/13 PHP
Linux下安装PHP MSSQL扩展教程
2014/10/24 PHP
Laravel 5框架学习之Eloquent (laravel 的ORM)
2015/04/08 PHP
Zend Framework校验器Zend_Validate用法详解
2016/12/09 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
YII2框架中日志的配置与使用方法实例分析
2020/03/18 PHP
Prototype使用指南之ajax
2007/01/10 Javascript
自己动手制作jquery插件之自动添加删除行功能介绍
2011/10/14 Javascript
一个字符串反转函数可实现字符串倒序
2014/09/15 Javascript
Jquery 实现grid绑定模板
2015/01/28 Javascript
jQuery实现有动画淡出效果的二级折叠菜单代码
2015/10/17 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
微信小程序 弹框和模态框实现代码
2017/03/10 Javascript
Vue axios 中提交表单数据(含上传文件)
2017/07/06 Javascript
vue实现前端分页完整代码
2020/06/17 Javascript
JS异步宏队列与微队列原理区别详解
2020/07/02 Javascript
详解Vue中的MVVM原理和实现方法
2020/07/15 Javascript
使用tensorflow实现线性回归
2018/09/08 Python
python使用Plotly绘图工具绘制散点图、线形图
2019/04/02 Python
python仿evething的文件搜索器实例代码
2019/05/13 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
使用 css3 transform 属性来变换背景图的方法
2019/05/07 HTML / CSS
美国紧身牛仔裤品牌:NYDJ
2017/05/24 全球购物
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
全球最大最受欢迎的旅游社区:Tripadvisor
2017/11/03 全球购物
软件测试工程师面试问题精选
2016/10/28 面试题
新郎新娘婚礼答谢词
2014/01/11 职场文书
数控专业个人求职信范文
2014/02/05 职场文书
党员公开承诺践诺书
2014/03/25 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
2014年底个人工作总结
2015/03/10 职场文书
小学教师岗位职责
2015/04/02 职场文书
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis
python中pycryto实现数据加密
2022/04/29 Python
插件导致ECharts被全量引入的坑示例解析
2022/09/23 Javascript