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 相关文章推荐
仅用500行Python代码实现一个英文解析器的教程
Apr 02 Python
Python爬虫实例爬取网站搞笑段子
Nov 08 Python
python PyTorch参数初始化和Finetune
Feb 11 Python
对python:threading.Thread类的使用方法详解
Jan 31 Python
Python3.5装饰器典型案例分析
Apr 30 Python
python对csv文件追加写入列的方法
Aug 01 Python
flask框架配置mysql数据库操作详解
Nov 29 Python
python:解析requests返回的response(json格式)说明
Apr 30 Python
Python基于进程池实现多进程过程解析
Apr 30 Python
python爬虫爬取网页数据并解析数据
Sep 18 Python
Python爬虫之Selenium实现关闭浏览器
Dec 04 Python
Django框架之路由用法
Jun 10 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
收音机另类DIY - 纸巾盒做外壳
2021/03/02 无线电
PHP eval函数使用介绍
2013/12/08 PHP
PHP结合Jquery和ajax实现瀑布流特效
2016/01/07 PHP
Yii+upload实现AJAX上传图片的方法
2016/07/13 PHP
通过JS 获取Mouse Position(鼠标坐标)的代码
2009/09/21 Javascript
Jquery插件 easyUI属性汇总
2011/01/19 Javascript
用js的document.write输出的广告无阻塞加载的方法
2014/06/05 Javascript
javascript数据结构与算法之检索算法
2015/04/04 Javascript
javascript弹出窗口实现代码
2015/11/12 Javascript
JavaScript:Date类型全面解析
2016/05/19 Javascript
JavaScript导航脚本判断当前导航
2016/07/12 Javascript
JS代码实现百度地图 画圆 删除标注
2016/10/12 Javascript
AngularJS框架的ng-app指令与自动加载实现方法分析
2017/01/04 Javascript
js实现3d悬浮效果
2017/02/16 Javascript
jQuery给表格添加分页效果
2017/03/02 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
2017/03/15 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
2018/08/30 Javascript
vue中render函数的使用详解
2018/10/12 Javascript
javascript实现贪吃蛇游戏(娱乐版)
2020/08/17 Javascript
vue移动端写的拖拽功能示例代码
2020/09/09 Javascript
[01:57]2018DOTA2亚洲邀请赛赛前采访-iG
2018/04/03 DOTA
[06:45]DOTA2-DPC中国联赛 正赛 Magma vs LBZS 选手采访
2021/03/11 DOTA
django中静态文件配置static的方法
2018/05/20 Python
python字典值排序并取出前n个key值的方法
2018/10/17 Python
Python 控制终端输出文字的实例
2019/07/12 Python
Django对models里的objects的使用详解
2019/08/17 Python
苹果香港官方商城:Apple香港
2016/09/14 全球购物
公司营业员的工作总结自我评价
2013/10/05 职场文书
导师推荐信范文
2014/05/09 职场文书
个性婚礼策划方案
2014/05/17 职场文书
新闻报道策划方案
2014/06/11 职场文书
教师个人查摆剖析材料
2014/10/14 职场文书
企业反腐倡廉心得体会
2015/08/15 职场文书
2016年学校爱国卫生月活动总结
2016/04/06 职场文书
导游词之永泰公主墓
2019/12/04 职场文书