通过本文给大家介绍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的知识就给大家介绍这么多,本文代码内容附有注释,大家在参考过程中有任何疑问欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对编程小技巧网站的支持!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。