Python3控制路由器——使用requests重启极路由.py

 更新时间:2016年05月11日 11:11:46   作者:codegay  
通过本文给大家介绍Python3控制路由器——使用requests重启极路由.py的相关知识,代码写了相应的注释,以后再写成可以方便调用的模块,感兴趣的朋友一起学习吧

通过本文给大家介绍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生成lmdb格式的文件实例

    python生成lmdb格式的文件实例

    今天小编就为大家分享一篇python生成lmdb格式的文件实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • 浅谈PYTHON 关于文件的操作

    浅谈PYTHON 关于文件的操作

    这篇文章主要介绍了PYTHON 关于文件的操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 浅谈Python 中整型对象的存储问题

    浅谈Python 中整型对象的存储问题

    这篇文章主要介绍了浅谈Python 中整型对象的存储问题的相关资料,需要的朋友可以参考下
    2016-05-05
  • 90行Python代码开发个人云盘应用

    90行Python代码开发个人云盘应用

    这篇文章主要介绍了90行Python代码开发个人云盘应用,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2021-04-04
  • python set集合使用方法解析

    python set集合使用方法解析

    这篇文章主要介绍了python set集合使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • python实现简易聊天对话框

    python实现简易聊天对话框

    这篇文章主要为大家详细介绍了python实现简易聊天对话框,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • wxpython中Textctrl回车事件无效的解决方法

    wxpython中Textctrl回车事件无效的解决方法

    这篇文章主要介绍了wxpython中Textctrl回车事件无效的解决方法,较为详细的分析了TextCtrl支持的事件类型,并给出了TextCtrl绑定回车事件的相应实现技巧,需要的朋友可以参考下
    2016-07-07
  • python数据挖掘需要学的内容

    python数据挖掘需要学的内容

    在本篇文章中我们给大家整理了关于python数据挖掘需要学什么的知识点指南,有兴趣的朋友们跟着参考下。
    2019-06-06
  • Python实现WGS84火星百度及web墨卡托四种坐标系相互转换

    Python实现WGS84火星百度及web墨卡托四种坐标系相互转换

    主流被使用的地理坐标系并不统一,常用的有WGS84、GCJ02(火星坐标系)、BD09(百度坐标系)以及百度地图中保存矢量信息的web墨卡托,本文利用Python编写相关类以实现4种坐标系统之间的互相转换
    2023-08-08
  • 关于Python下载大文件时哪种方式速度更快

    关于Python下载大文件时哪种方式速度更快

    这篇文章主要介绍了关于Python下载大文件时哪种方式速度更快,通常,我们都会用 requests 库去下载,这个库用起来太方便了,需要的朋友可以参考下
    2023-04-04

最新评论