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 13 Python
浅谈Python中带_的变量或函数命名
Dec 04 Python
Python对列表去重的多种方法(四种方法)
Dec 05 Python
pandas把dataframe转成Series,改变列中值的类型方法
Apr 10 Python
Python装饰器模式定义与用法分析
Aug 06 Python
对pandas通过索引提取dataframe的行方法详解
Feb 01 Python
django2.0扩展用户字段示例
Feb 13 Python
Python操作rabbitMQ的示例代码
Mar 19 Python
python使用Plotly绘图工具绘制散点图、线形图
Apr 02 Python
python字符串查找函数的用法详解
Jul 08 Python
使用Python自动生成HTML的方法示例
Aug 06 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
Jan 27 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下安装配置fckeditor编辑器的方法
2011/03/02 PHP
php中time()和mktime()方法的区别
2013/09/28 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
2014/03/13 PHP
从wamp到xampp的升级之路
2015/04/08 PHP
php array_keys 返回数组的键名
2016/10/25 PHP
PHP使用ActiveMQ实例
2018/02/05 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
js nextSibling属性和previousSibling属性概述及使用注意
2013/02/16 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
2016/06/21 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
字太多用...代替的方法(两种)
2017/03/15 Javascript
Vue动态实现评分效果
2017/05/24 Javascript
jQuery Jsonp跨域模拟搜索引擎
2017/06/17 jQuery
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
bootstrap Table实现合并相同行
2019/07/19 Javascript
javascript合并两个数组最简单的实现方法
2019/09/14 Javascript
详解Vue 单文件组件的三种写法
2020/02/19 Javascript
JS如何操作DOM基于表格动态展示数据
2020/10/15 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
python求列表交集的方法汇总
2014/11/10 Python
opencv改变imshow窗口大小,窗口位置的方法
2018/04/02 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
解决python写入带有中文的字符到文件错误的问题
2019/01/31 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
2019/07/07 Python
python各类经纬度转换的实例代码
2019/08/08 Python
python 一维二维插值实例
2020/04/22 Python
python实现图片素描效果
2020/09/26 Python
HTML5 播放 RTSP 视频的实例代码
2019/07/29 HTML / CSS
MUGLER官方网站:蒂埃里·穆勒香水
2019/11/26 全球购物
2019年.net常见面试问题
2012/02/12 面试题
狮子林导游词
2015/02/03 职场文书
2015新学期开学寄语
2015/02/26 职场文书
Spring 使用注解开发
2022/05/20 Java/Android