選択肢を見つける必要がありますxdotool
。私はChromiumを使って定期的にWebページを更新するためにRaspberry Piを使用しています。これにはシェルスクリプトを使用します。
xdotool search --name chromium key --clearmodifiers ${RELOAD}
ただし、これはxdotool
システムが最終的に応答を停止するまでシステムが忙しくなります。xdotool
私のシステムにそれほど大きな負担をかけない代替案はありますか?
編集(フルシェルスクリプト)
#!/bin/bash
a=0
RELOAD="CTRL+R"
while (true)
do
wget -q --spider http://google.com
if [ $? == $a ]; then
ps cax | grep chromium
if [ $? == $a ]; then
echo "chrome running"
else
echo "chrome starting"
/home/pi/Desktop/APPLICATION_CALENDAR.SH &
fi
echo $? $a
echo "online1"
xdotool search --name chromium key --clearmodifiers ${RELOAD}
else
echo "offline"
sleep 15s
fi
sleep 20s
done
ベストアンサー1
Webページにアクセスするには、ブラウザの完全なグラフィカルインターフェイスが必要なく、HTTPリクエストのみが必要です。たとえば、cURLとCronを使用すると、n分ごとにHTTP要求をスケジュールできる必要があります。
たとえば、次のcron
呼び出しは次にアクセスしますexample.com
。
curl http://example.com
出力を見ると、WebサイトのHTMLソースコードが表示されます。今すぐこのタスクを実行するには、次のものを使用できます。
watch -n60 curl http://example.com
...これはよりcurl
60秒ごとに出力します。
これらすべてのジョブがバックグラウンドで発生するようにするには、クローンジョブをスケジュールする必要があります。crontab -e
編集ユーザーのcrontabを実行してジョブを入力します。
5 * * * * /usr/bin/curl http://example.com > /dev/null 2>&1
クローンジョブの予約について詳しくはこちらをご覧ください。。
今ではcurl
通常実行中得るリクエストしてください。一部を追加したい場合があります。郵便はがきあなたの要求(フォーム)に従って情報を提供してください。郵便はがきスイッチを使用してデータを追加できます--data
。
curl --data='username=myuser&[email protected]' http://example.com
パラメータを追加したい場合得るリクエストがあれば、ブラウザに表示されるURLに追加するだけです。
cURLのもう一つの興味深い点はクッキージャーです。これにより、複数の cURL リクエストでセッションを維持できます。たとえば、ログイン要求をすると...
curl -c ~/cookiejar --data='login=mylog&pass=mypass' http://example.com/login.php
...-c
交換はあなたのセッションデータをに保存します~/cookiejar
。今あなたの個人的なプロフィールにアクセスするには...
curl -c ~/cookiejar http://example.com/private.php
...あなたのクッキー情報がリクエストと共に渡されるので、その情報にアクセスできます。
最後に、HTTP経由で資格情報を渡すときにSSLを使用することをお勧めします。以下は一般的なログイン例です。
$ curl -c ~/cookiejar --data='login=mylogin&pass=mypass' https://example.com/login.php
$ curl -c ~/cookiejar https://example.com/private.php
$ curl -c ~/cookiejar https://example.com/logout.php
$ rm ~/cookiejar
...または妄想がよりひどい場合:shred -fuvz -n3 ~/cookiejar
。