通过本文给大家介绍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的知识就给大家介绍这么多,本文代码内容附有注释,大家在参考过程中有任何疑问欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对脚本之家网站的支持!