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

作者:codegay 时间:2023-05-20 08:07:54 

通过本文给大家介绍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,requests,requests.py,路由器
0
投稿

猜你喜欢

  • 用CSS设置表格Table的细边框的比较好用的方法

    2010-09-06 14:58:00
  • 空间session失效过快的解决办法

    2010-09-15 10:01:00
  • 极简主义网站设计:寓丰富于简单

    2009-12-07 21:37:00
  • SNS用户体验和互动性浅析

    2011-01-17 17:56:00
  • 在IE中使用高级CSS3选择器

    2010-01-22 15:20:00
  • 淘宝2011新版首页开发实践

    2011-01-20 20:07:00
  • python实现DNS正向查询、反向查询的例子

    2022-10-29 07:18:55
  • 用ASP实现域名绑定子目录

    2009-03-11 13:28:00
  • django 实现编写控制登录和访问权限控制的中间件方法

    2021-04-26 21:08:53
  • 基于jQuery实现的立体文字渐变效果

    2009-05-18 19:15:00
  • mysql表的性能提升的相关问题

    2010-03-03 16:31:00
  • Go学习笔记之Zap日志的使用

    2023-09-19 01:21:36
  • ASP判断E-Mail的合法性,以及过滤邮箱字符

    2010-05-27 12:23:00
  • SQL Server 2000如何设置会话上下文信息?

    2010-05-18 18:33:00
  • 纯CSS实现导航下拉菜单

    2007-11-25 15:11:00
  • javascript二维数组转置实例

    2023-08-25 07:11:14
  • JS实现运动缓冲效果的封装函数示例

    2023-06-30 14:34:45
  • JS逆序遍历实现代码

    2023-10-11 07:31:49
  • 关于分页查询和性能问题

    2008-03-11 12:25:00
  • asp简单的仿图片验证码

    2008-03-12 11:54:00
  • asp之家 网络编程 m.aspxhome.com