2

wget を使用して Fritz!Box 7390 を再起動したいと考えています。Web インターフェイスには、次のような再起動フォームがあります。

<form action="/system/reboot.lua" method="POST">
<div id="btn_form_foot">
<input type="hidden" name="sid" value="beb5683181c2ab9f">
<button type="submit" name="reboot">Neu starten</button>
</div>
</form>

このフォームを送信したいです。これまでのところ、次のように試しましたが、うまくいかないようです:

wget --post-data "sid=beb5683181c2ab9f" "http://fritz.box/system/reboot.lua"

ページをロードするたびにsidが変わるようです。

しかし、それが問題かどうかはわかりません。URLに ?sid=example を追加することでsidを修正できるからです

4

2 に答える 2

2

その URL だけに POST することはできません。まず、有効なセッション ID を取得する必要があります。これは、GET リクエストを実行してヘッダー値http://fritz.box/checklogin.luaから取得することで実行できます。次に、これを使用して、セッション ID を含めLOCATIONて投稿できます。http://fritz.box/system/reboot.lua

自動化するための最小限の手順は次のとおりです。

SID=$(curl -s -I "http://fritz.box/logincheck.lua" | grep -Fi Location | awk -F'[=]' '{print $2}')
SID=$(curl -s -i -H "Content-Type: application/x-www-form-urlencoded" -H "Origin: http://fritz.box" -H "Referer: http://fritz.box/system/reboot.lua\?sid\=$SID" --data "reboot=&sid=$SID" -L http://fritz.box/system/reboot.lua | grep -Fi Location | awk -F'[=]' '{print $2}')
curl -s http://fritz.box/reboot.lua?ajax=1&sid=$REBOOT_SID

ここで見つけることができるいくつかの追加のチェックを含む小さなスクリプトを作成しました。ここでチェックを含む完全なスクリプトを見つけることができます: http://git.io/v3zQs

于 2015-08-12T16:21:48.333 に答える
0

現在のソフトウェア (v7.20+) での手順を教えてください。
できれば、パスワードで保護されたルーターに。

Chrome 開発ツール情報を使用して、最近のパスを使用するように更新しようとしました。
statuscode200と response:を返します{"reboot_state":"extern"}
しかし、再起動はありません。

RestartUI でボタンを押したときの Chrome デベロッパー ツールの URLは次のとおりです。

curl 'http://fritz.box/reboot.lua' \
  -H 'Connection: keep-alive' \
  -H 'Pragma: no-cache' \
  -H 'Cache-Control: no-cache' \
  -H 'User-Agent: Mozilla/5.0 (...) Chrome/86.0.4240.111 Safari/537.36' \
  -H 'DNT: 1' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Accept: */*' \
  -H 'Origin: http://fritz.box' \
  -H 'Referer: http://fritz.box/' \
  -H 'Accept-Language: en,en-US;q=0.9,nl;q=0.8,de;q=0.7,la;q=0.6' \
  --data-raw 'ajax=1&sid=1fd4370b50b14b07&no_sidrenew=1&xhr=1&useajax=1' \
  --compressed \
  --insecure

(sid明らかに、ログインごとに変更されます)

于 2020-10-26T10:54:54.060 に答える