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) #重啟


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM