3の手順が必要です:
- セッションID
- はトークン
- センド/ SMSを受信
をゲット
ステップ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送信最後に
他の2つのスクリプト呼び出し、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を受信するための(下盛されていない場合、または、最後の読み取り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