HTML 스크립트 확인

HTML 스크립트 확인

http cgi 명령이 있습니다(http://cameraIP:port/cgi-bin/CGIProxy.fcgi?cmd=getDevState&usr=user&pwd=password) 브라우저에서 반환

<CGI_Result>
    <result>0</result>
    <IOAlarm>0</IOAlarm>
    <motionDetectAlarm>1</motionDetectAlarm>
    <soundAlarm>0</soundAlarm>
    <record>0</record>
    <sdState>0</sdState>
    <sdFreeSpace>0k</sdFreeSpace>
    <sdTotalSpace>0k</sdTotalSpace>
    <ntpState>1</ntpState>
    <ddnsState>0</ddnsState>
    <url>http%3A%2F%2Fgg3460.myfoscam.org%3A22222</url>
    <upnpState>0</upnpState>
    <isWifiConnected>0</isWifiConnected>
    <wifiConnectedAP></wifiConnectedAP>
    <infraLedState>1</infraLedState>
</CGI_Result>

MotionDetectAlarm이 2인지 확인하고 Restfull API Put 메소드를 호출하는 스크립트를 만들고 싶습니다. 가능합니까?

resful API를 호출할 수 있습니다.curl -X PUT -d arg=val -d arg2=val2 localhost:8080

while 루프를 어떻게 할 수 있나요? 나는 루프가 영원히 실행되기를 원합니다. 감사해요.

답변1

"영원히" 반복하여 웹페이지를 꺼내고 정확한 HTML 코드를 찾습니다. grep -q특정 태그와 값이 있는 경우 "성공"으로 종료하면 추적이 curl실행될 수 있습니다.

while :
do
  wget or curl the CGIProxy script | grep -q '<motionDetectAlarm>2</motionDetectAlarm>' && 
    curl -X PUT -d arg=val -d arg2=val2 localhost:8080
done

관련 정보