3 단계가 필요합니다 :
- SMS/수신 세션 ID
- 토큰
- 보내기를 가져 오기
1 단계 - 가져 오기 세션 ID
내가 자신의 쉘 스크립트에서 다음 명령을 사용하여 세션 ID를 얻는 경우 :
#!/bin/bash
curl -b session.txt -c session.txt http://192.168.8.1/html/index.html > /dev/null 2>&1
2 단계 - 토큰 받기
토큰을 받으려면 다음 명령을 사용하고 자체 쉘 스크립트에서도 사용하십시오.
#!/bin/bash
TOKEN=$(curl -s -b session.txt -c session.txt http://192.168.8.1/html/smsinbox.html)
TOKEN=$(echo $TOKEN | cut -d'"' -f 10)
echo $TOKEN > token.txt
3 단계 파트 A - SMS 보내기 마지막으로
또한 두 개의 다른 스크립트 호출 SMS, 전송하는 제 쉘 스크립트 :
#!/bin/bash
NUMBER=$1
MESSAGE=$2
./session.sh
./token.sh
LENGTH=${#MESSAGE}
TIME=$(date +"%Y-%m-%d %T")
TOKEN=$(<token.txt)
SMS="<request><Index>-1</Index><Phones><Phone>$NUMBER</Phone></Phones><Sca/><Content>$MESSAGE</Content><Length>$LENGTH</Length><Reserved>1</Reserved><Date>$TIME</Date></request>"
echo $SMS
curl -v -b session.txt -c session.txt -H "X-Requested-With: XMLHttpRequest" --data "$SMS" http://192.168.8.1/api/sms/send-sms --header "__RequestVerificationToken: $TOKEN" --header "Content-Type:text/xml"
사용법입니다 :
3 단계 파트 B - 수신 SMS
그리고 마지막으로 읽지 않은 SMS를 수신 (avaiable이다하지 않을 경우, 또는 마지막 읽기 SMS) 나는 다음과 같은 스크립트를 사용
#!/bin/bash
./session.sh
./token.sh
TOKEN=$(<token.txt)
DATA="<request><PageIndex>1</PageIndex><ReadCount>1</ReadCount><BoxType>1</BoxType><SortType>0</SortType><Ascending>0</Ascending><UnreadPreferred>1</UnreadPreferred></request>"
curl -b session.txt -c session.txt -H "X-Requested-With: XMLHttpRequest" --data "$DATA" http://192.168.8.1/api/sms/sms-list --header "__RequestVerificationToken: $TOKEN" --header "Content-Type:text/xml"
을
아주 좋은 코딩은 아니지만 작동합니다.
e3531에도 적용될 수 있습니다. – Peters
대단히 감사합니다! – valentt