代码写了相应的注释,以后再写成可以方便调用的模块。

用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的更多相关文章

  1. python3登录极路由并读取宽带帐号帐号密码.py

    python3登录极路由并读取宽带帐号帐号密码,fiddler抓包分析过程略... 步骤:1.登录路由,提取stok. 2.用stok拼成url,post请求 3.解析json数据 代码: " ...

  2. 教你如何在Drcom下使用路由器上校园网(以广东工业大学、极路由1S HC5661A为例)

    免责声明: 在根据本教程进行实际操作时,如因您操作失误导致出现的一切意外,包括但不限于路由器变砖.故障.数据丢失等情况,概不负责: 该技术仅供学习交流,请勿将此技术应用于任何商业行为,所产生的法律责任 ...

  3. MIPS(极路由1s[mt7620a])平台OpenWrt路由器系统内的Go应用程序开发

    起因,由于coolpy5核心转换到go语言开发,所以目前超人正在进行相关的技术攻关,在程序编写方面一切都相对顺利.由于coolpy5是一个真正的商业级性能的系统也考滤到coolpy之前的版本已经确定的 ...

  4. 极路由2(极贰)ROOT并刷了OpenWrt

    绕过官方的ROOT 查了一下root教程, 如果还需要保留保修, 则需要自己想办法回退版本, 下载搜狐插件到sd卡, 找个linux系统修改sd卡上程序的执行权限, 然后才能开启ssh, 具体的方法可 ...

  5. 如何用极路由+OpenWrt+SDR电视棒搭建SDR服务器

    0×00 前言 近期因为有个从异地捕获无线信号的需求,便尝试着用OpenWrt+公网IP搭建了一台SDR服务器.如果有小伙伴嫌SDR硬件天线看起来太乱.或者电脑没有足够的USB接口也可在局域网搭建SD ...

  6. 极路由访问Apple Store可以浏览但是不能下载的解决方案

    最近在家里上网突然发现Apple Store不能更新了.重启路由器发现最开始一会是能下载更新的,但是过了一会就完全不能下载更新了.很是奇怪,今天特意分析了一下这个问题. 首先,抓包确定Apple St ...

  7. 如何用极路由+OpenWrt+RTL电视棒搭建一台SDR服务器,并隐秘地捕获和传输数据

    0×00 前言 近期因为有个从异地捕获无线信号的需求,便尝试着用OpenWrt+公网IP搭建了一台SDR服务器.如果有小伙伴嫌SDR硬件天线看起来太乱.或者电脑没有足够的USB接口也可在局域网搭建SD ...

  8. 极路由1s手工安装ss插件

    1.极路由申请开放root权限,将会失去保修,不过100块的东西还保修个什么 2.用putty连接极路由注意端口号 3. 然后一段一段执行下面的代码,很简单,复制一个段落的代码,粘贴进去,回车执行. ...

  9. OpenWrt防火墙配置(极路由)

    说明: 1.极路由使用的是OpenWrt做为操作系统,本身就是一个Linux,包管理使用opkg,只是改了一个界面而已. 2.Linux下的防火墙最终都会归iptables进行管理,OpenWrt的防 ...

随机推荐

  1. iOS开发 字符串MD5加密

    /*** MD5 ***/ #define CC_MD5_DIGEST_LENGTH    16          /* digest length in bytes */ #define CC_MD ...

  2. 在Linux或者Unix下打开,每一行都会出多出^M这样的字符

    Windows上写好的文件,在Linux或者Unix下打开,每一行都会出多出^M这样的字符,这是因为Windows与*nix的换行符不同所致,我们看看文件格式有什么不同. 在Linux下查看文件格式: ...

  3. Lua中点和冒号的区别

    在使用lua设计类时'.'和':'的区别主要在于使用'.'必须手动加self参数,使用':',可以隐藏这个参数,使用'.'调用使用':'定义的函数时,要注意,函数的第一个参数为self,如 funct ...

  4. 让你的linux操作系统更加安全【转】

    BIOS安全 记着要在BIOS设置中设定一个BIOS密码,不接收软盘启动.这样可以阻止不怀好意的人用专门的启动盘启动你的Linux系统,并避免别人更改BIOS设置,如更改软盘启动设置或不弹出密码框直接 ...

  5. PC-1500的代码存入WAV文件

    目录 第1章保存    1 1.1 操作    1 1.2 波形说明    4 1.3 波形整形    5 1.4 压缩    8 第2章载入    9 2.1 操作    9 2.2 音量    9 ...

  6. 【转】实现RTP协议的H.264视频传输系统

    1.  引言       随着信息产业的发展,人们对信息资源的要求已经逐渐由文字和图片过渡到音频和视频,并越来越强调获取资源的实时性和互动性.但人们又面临着另外一种不可避免的尴尬,就是在网络上看到生动 ...

  7. nodeschool.io 9

    ~~ JUGGLING ASYNC ~~ 其实就是一个循环,在循环里面输出的顺序,和排列后在外面的顺序不一样,这是为什么呢? 用第三方async包,直接报错了…… This problem is th ...

  8. Qt之findChild

    简述 在Qt编程过程中,通常会有多个部件嵌套,而大多数部件都有父子依赖关系,但是有些情况下不能直接引用子部件,这时我们可以通过父部件来findChild -"查找孩子". 简述 查 ...

  9. html5的标签

    1.article与section div的区别 当一个标签只是为了样式化或者方便脚本使用时,应该使用 div . section 表示一段专题性的内容,一般会带有标题.,section 应用的典型场 ...

  10. spring关于urlpattern

    视图解析器(ViewResolver)注册中央调度器定制处理器jsp页面搭建springmvc.xml配置效果图第一个案例提升----视图解析器关于urlpattern说法最好配成*.do 不能配成/ ...