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爬虫教程之爬取百度贴吧并下载的示例
Mar 07 Python
Python获取Windows或Linux主机名称通用函数分享
Nov 22 Python
Python在Console下显示文本进度条的方法
Feb 14 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
Aug 07 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
Aug 08 Python
Python函数any()和all()的用法及区别介绍
Sep 14 Python
Python随机函数库random的使用方法详解
Aug 21 Python
python常见字符串处理函数与用法汇总
Oct 30 Python
Python imread、newaxis用法详解
Nov 04 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
Feb 18 Python
详解用 python-docx 创建浮动图片
Jan 24 Python
Python实现智慧校园自动评教全新版
Jun 18 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/10/09 PHP
php 数组的创建、调用和更新实现代码
2009/03/09 PHP
php 无法载入mysql扩展
2010/03/12 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
2014/02/02 PHP
PHP实现加强版加密解密类实例
2015/07/29 PHP
Js+XML 操作
2006/09/20 Javascript
jquery退出each循环的写法
2014/02/26 Javascript
ajax提交表单实现网页无刷新注册示例
2014/05/08 Javascript
JavaScript动态添加style节点的方法
2015/06/09 Javascript
12种JavaScript常用的MVC框架比较分析
2015/11/16 Javascript
详解vue父子模版嵌套案例
2017/03/04 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
2017/07/04 Javascript
其实你可以少写点if else与switch(推荐)
2019/01/10 Javascript
JavaScript使用localStorage存储数据
2019/09/25 Javascript
VUE实现图片验证码功能
2020/11/18 Javascript
Vue $emit()不能触发父组件方法的原因及解决
2020/07/28 Javascript
vue 数据双向绑定的实现方法
2021/03/04 Vue.js
Python实现远程调用MetaSploit的方法
2014/08/22 Python
利用python获取当前日期前后N天或N月日期的方法示例
2017/07/30 Python
图解Python变量与赋值
2018/04/03 Python
利用Python在一个文件的头部插入数据的实例
2018/05/02 Python
python实现支付宝当面付(扫码支付)功能
2018/05/30 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
Python学习笔记之函数的定义和作用域实例详解
2019/08/13 Python
在django模板中实现超链接配置
2019/08/21 Python
详解Python多线程下的list
2020/07/03 Python
Python unittest装饰器实现原理及代码
2020/09/08 Python
使用HTML5的Canvas绘制曲线的简单方法
2015/09/08 HTML / CSS
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
英国灯具和灯泡网上商店:Lights.co.uk
2018/02/02 全球购物
硕士研究生个人求职信
2013/12/04 职场文书
修理厂厂长岗位职责
2014/01/30 职场文书
房租涨价通知
2015/04/23 职场文书
Python中常见的反爬机制及其破解方法总结
2021/06/10 Python
Golang 并发下的问题定位及解决方案
2022/03/16 Golang
Python+Tkinter制作专属图形化界面
2022/04/01 Python