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中optparse模块使用浅析
Jan 01 Python
利用python获取某年中每个月的第一天和最后一天
Dec 15 Python
Python3调用微信企业号API发送文本消息代码示例
Nov 10 Python
Window10+Python3.5安装opencv的教程推荐
Apr 02 Python
Python基于多线程实现抓取数据存入数据库的方法
Jun 22 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
Aug 04 Python
Python实现正则表达式匹配任意的邮箱方法
Dec 20 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
Feb 13 Python
python之当你发现QTimer不能用时的解决方法
Jun 21 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
Jun 27 Python
关于初始种子自动选取的区域生长实例(python+opencv)
Jan 16 Python
Python图像读写方法对比
Nov 16 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产生随机字符串函数
2006/12/06 PHP
过滤掉PHP数组中的重复值的实现代码
2011/07/17 PHP
PHP函数http_build_query使用详解
2014/08/20 PHP
PHP向socket服务器收发数据的方法
2015/01/24 PHP
PHP7下协程的实现方法详解
2017/12/17 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
php删除二维数组中的重复值方法
2018/03/12 PHP
javascript闭包传参和事件的循环绑定示例探讨
2014/04/17 Javascript
使用jQuery在对象中缓存选择器的简单方法
2015/06/30 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
2016/04/11 Javascript
angular bootstrap timepicker TypeError提示怎么办
2017/06/13 Javascript
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
JS中准确判断变量类型的方法
2020/06/01 Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
2020/09/02 Javascript
使用beaker让Facebook的Bottle框架支持session功能
2015/04/23 Python
python实现井字棋游戏
2020/03/30 Python
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
python 中random模块的常用方法总结
2017/07/08 Python
Python 多线程,threading模块,创建子线程的两种方式示例
2019/09/29 Python
PyCharm使用Docker镜像搭建Python开发环境
2019/12/26 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
2020/02/07 Python
大数据分析用java还是Python
2020/07/06 Python
CSS3教程(8):CSS3透明度指南
2009/04/02 HTML / CSS
LEGO玩具英国官方商店:LEGO Shop GB
2018/03/27 全球购物
塑料制成的可水洗的编织平底鞋和鞋子:Rothy’s
2018/09/16 全球购物
香港莎莎官网Sasa.com:亚洲著名国际化妆品商城
2019/11/10 全球购物
SQL面试题
2013/12/09 面试题
程序集与命名空间有什么不同
2014/07/25 面试题
艺术专业大学生自我评价
2013/09/22 职场文书
业务部门经理岗位职责
2014/02/23 职场文书
战友聚会主持词
2014/04/02 职场文书
2014年计划生育协会工作总结
2014/11/14 职场文书
工作岗位职责范本
2015/02/15 职场文书
Node.js实现爬取网站图片的示例代码
2022/04/04 NodeJs
Redis唯一ID生成器的实现
2022/07/07 Redis
蓝牙耳机怎么连接电脑win11? Win11蓝牙耳机连接电脑的技巧
2023/01/09 数码科技