대안을 찾아야 해요 xdotool
. 나는 Chromium을 사용하여 주기적으로 웹 페이지를 새로 고치기 위해 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
웹 페이지에 액세스하려면 브라우저의 전체 그래픽 인터페이스가 필요하지 않으며 HTTP 요청만 있으면 됩니다. 예를 들어, cURL 및 Cron을 사용하면 n분마다 HTTP 요청을 예약할 수 있어야 합니다.
예를 들어 다음 cron
호출은 다음에 액세스합니다 example.com
.
curl http://example.com
출력을 보면 웹 사이트의 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
.